package Ġtop . ease link . lc g . ui . setting . view Ċ Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . tencent . bug ly . beta . Beta Ċ import Ġkotlinx . android . synt hetic . main . activity _ settings .* Ċ import Ġtop . ease link . framework . top base . Top Activity Ċ import Ġtop . ease link . lc g . R Ċ import Ġtop . ease link . lc g . config . AppConfig Ċ import Ġtop . ease link . lc g . sp ip edata . UserData Ċ import Ġtop . ease link . lc g . ui . main . login . view . Login Hint Dialog Ċ import Ġtop . ease link . lc g . ui . main . logout . view . Logout Hint Dialog Ċ import Ġtop . ease link . lc g . ui . setting . view model . Setting ViewModel Ċ import Ġtop . ease link . lc g . utils . clear Cookies Ċ import Ġtop . ease link . lc g . utils . showMessage ĊĊ Ċ class ĠSetting Activity Ġ: ĠTop Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm ViewModel : ĠSetting ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwindow . add Flags ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ NAV IG ATION ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ settings ) ĊĠĠĠĠĠĠĠ Ġm ViewModel Ġ= ĠViewModel Provider ( this )[ Setting ViewModel :: class . java ] ĊĠĠĠĠĠĠĠ ĠsetUp () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= Ġresources . configuration ĊĠĠĠĠĠĠĠ Ġif Ġ( configuration . orientation Ġ== ĠConfiguration . OR IENTATION _ LAND SC APE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . clear Flags ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ NAV IG ATION ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . add Flags ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ NAV IG ATION ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġsetup ToolBar () ĊĠĠĠĠĠĠĠ Ġsetup Components () ĊĠĠĠĠĠĠĠ Ġsetup Observer () ĊĠĠĠĠĠĠĠ Ġm ViewModel . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup ToolBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Home Button Enabled ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Components () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! UserData . is LoggedIn ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync _ favorites _ switch . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto _ sign _ switch . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . auto Sign Enable Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . sync F avorites Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount _ btn . text Ġ= ĠgetString ( R . string . login _ btn ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount _ btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogin Hint Dialog (). show ( support FragmentManager , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount _ btn . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( getString ( R . string . logout _ confirm _ message ), ĠUser Data . username ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount _ btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Logout () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcheck _ update _ btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBeta . check Upgrade () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsync _ favorites _ switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . schedule Job ( isChecked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġauto _ sign _ switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . set Sync Favorite ( isChecked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsearch _ engine _ spinner . on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdo Ġnothing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠAdapter View < *> ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠView ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid : ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . default Search Engine Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshow _ search _ result _ in _ webview . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . search Result Show In WebView Ġ= Ġis Checked ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshow _ article _ in _ webview . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . article Show In WebView Ġ= Ġis Checked ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarticle _ handle _ pre _ tag . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . article Handle Pre Tag Ġ= Ġis Checked ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshow _ recommend _ flag . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . article Show Recommend Flag Ġ= Ġis Checked ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Observer () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . sync Favorite Enable . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync _ favorites _ switch . isChecked Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . auto SignIn Enable . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto _ sign _ switch . isChecked Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . search Engine Selected . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch _ engine _ spinner . setSelection ( it , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . open SearchResult In WebView . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow _ search _ result _ in _ webview . isChecked Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . open Article In WebView . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow _ article _ in _ webview . isChecked Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . show Recommend Flag . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow _ recommend _ flag . isChecked Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . handle Pre Tag In Article . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarticle _ handle _ pre _ tag . isChecked Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtry Logout () Ġ{ ĊĠĠĠĠĠĠĠ ĠLogout Hint Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpositive Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser Data . clear All () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Cookies () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Message ( R . string . clear _ cookie ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnegative Ġ= Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ). show ( support FragmentManager , ĠLogout Hint Dialog :: class . java . simple Name ) ĊĠĠĠ Ġ} Ċ } Ċ