package Ġim . fd x . v 2 ex . ui Ċ Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . activity . result . Activity Result Callback Ċ import Ġandroidx . activity . result . contract . Activity Result Contract Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġandroidx . core . content . edit Ċ import Ġandroidx . core . net . to Uri Ċ import Ġandroidx . local broadcast manager . content . Local Broadcast Manager Ċ import Ġandroidx . preference . List Preference Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Fragment Compat Ċ import Ġandroidx . work . Work Manager Ċ import Ġcom . el vis he w . x log . X Log Ċ import Ġim . fd x . v 2 ex .* Ċ import Ġim . fd x . v 2 ex . network . Http Helper Ċ import Ġim . fd x . v 2 ex . utils . Keys Ċ import Ġim . fd x . v 2 ex . utils . Keys . PRE F _ N IGHT _ MODE Ċ import Ġim . fd x . v 2 ex . utils . Keys . PRE F _ TAB Ċ import Ġim . fd x . v 2 ex . utils . Keys . PRE F _ TEXT _ SIZE Ċ import Ġim . fd x . v 2 ex . utils . Keys . PRE F _ VERSION Ċ import Ġim . fd x . v 2 ex . utils . Keys . TAG _ WORK ER Ċ import Ġim . fd x . v 2 ex . utils . Keys . notify ID Ċ import Ġim . fd x . v 2 ex . utils . extensions . setUp Toolbar Ċ import Ġorg . jetbrains . ank o . long Toast Ċ import Ġorg . jetbrains . ank o . toast Ċ Ċ class ĠSettings Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ ĠsetContentView ( R . layout . activity _ settings ) ĊĠĠĠ ĠsetUp Toolbar (" è®¾ç½® ") ĊĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġ. replace ( R . id . container , ĠSettings Fragment ()) ĊĠĠĠĠĠĠĠ Ġ. commit () ĊĠ Ġ} ĊĊĠ Ġclass ĠSettings Fragment Ġ: ĠPreference Fragment Compat (), ĠSharedPreferences . On Shared Preference ChangeListener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcount : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġwhat : ĠString ?) Ġ{ ĊĠĠĠĠĠ Ġadd Preferences From Resource ( R . xml . preference ) ĊĠĠĠĠĠ Ġpref Tab () ĊĠĠĠĠĠ Ġpref Night Mode () ĊĠĠĠĠĠ Ġpref Rate () ĊĊĠĠĠĠĠ Ġpref Version () ĊĊĠĠĠĠĠ Ġif Ġ( my App . is Login ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Preferences From Resource ( R . xml . preference _ login ) ĊĠĠĠĠĠĠĠ Ġfind Preference < Preference >(" group _ user ") ?. title Ġ= Ġpref . getString ( Keys . PRE F _ USERNAME , Ġ" user ") ĊĠĠĠĠĠĠĠ Ġpref User () ĊĠĠĠĠĠĠĠ Ġpref Message () ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpref Night Mode () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpref Message () Ġ{ ĊĠĠĠĠĠ Ġval Ġlist Preference Ġ= Ġfind Preference < List Preference >(" pref _ msg _ period ") ĊĠĠĠĠĠ Ġif Ġ(! pref . getBoolean (" pref _ msg ", Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠ Ġfind Preference < Preference >(" pref _ background _ msg ") ?. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġfind Preference < Preference >(" pref _ msg _ period ") ?. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpref Tab () Ġ{ ĊĠĠĠĠĠ Ġfind Preference < Preference >(" pref _ tab _ bar ") ?. on Preference ClickListener Ġ= ĠPreference . On Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( require Activity (), ĠTab Setting Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpref User () Ġ{ ĊĠĠĠĠĠ Ġfind Preference < Preference >( Keys . PRE F _ LOG OUT )?. on Preference ClickListener Ġ= ĠPreference . On Preference ClickListener Ġ{ ĊĊĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( require Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" æıĲç¤º ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" ç¡®å®ļ è¦ģ éĢĢåĩº åĲĹ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . ok ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Helper . my Cookie Jar . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Login ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Preference < Preference >( Keys . PRE F _ LOG OUT )?. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove ( PRE F _ TEXT _ SIZE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove ( PRE F _ TAB ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. finish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. toast (" å·² éĢĢåĩº çĻ»å½ķ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . cancel ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpref Version () Ġ{ ĊĊĠĠĠĠĠ Ġfind Preference < Preference >( PRE F _ VERSION )?. summary Ġ= ĠBuild Config . VERSION _ NAME ĊĊĠĠĠĠĠ Ġval Ġha Ġ= Ġresources . getString Array ( R . array . j ) ĊĠĠĠĠĠ Ġcount Ġ= Ġ 7 ĊĠĠĠĠĠ Ġfind Preference < Preference >( PRE F _ VERSION )?. on Preference ClickListener Ġ= ĠPreference . On Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( count Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġcount Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠ Ġactivity ?. long Toast ( ha [( System . currentTimeMillis () Ġ/ Ġ 1 0 0 Ġ% Ġha . size ). toInt ()]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcount -- ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpref Rate () Ġ{ ĊĠĠĠĠĠ Ġfind Preference < Preference >( Keys . PRE F _ RAT ES )?. on Preference ClickListener Ġ= ĠPreference . On Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġ" market :// details ? id = im . fd x . v 2 ex ". to Uri () ĊĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW , Ġuri ) ĊĠĠĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġactivity ?. toast (" æ²¡æľī åı¯ çĶ¨çļĦ åºĶçĶ¨ åķĨ åºĹ ï¼Į è¯· æ£ĢæŁ¥ åĲİ éĩį è¯ķ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠ Ġpref . register On Shared Preference ChangeListener ( this ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠ Ġpref . unregister On Shared Preference ChangeListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Shared Preference Changed ( shared Preferences : ĠSharedPreferences , Ġkey : ĠString ) Ġ{ ĊĠĠĠĠĠ ĠLog . w (" PRE F ", Ġkey ) ĊĠĠĠĠĠ Ġwhen Ġ( key ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" pref _ msg " Ġ-> ĊĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( shared Preferences . getBoolean ( key , Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Preference < Preference >(" pref _ msg _ period ") ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Preference < Preference >(" pref _ background _ msg ") ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= Ġactivity ?. getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . cancel ( notify ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWork Manager . getInstance (). cancel All Work By Tag ( TAG _ WORK ER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Preference < Preference >(" pref _ msg _ period ") ?. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Preference < Preference >(" pref _ background _ msg ") ?. isEnabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ" pref _ background _ msg " Ġ-> Ġ{} ĊĠĠĠĠĠĠĠ Ġ" pref _ msg _ period " Ġ-> Ġ{} ĊĠĠĠĠĠĠĠ Ġ" pref _ add _ row " Ġ-> Ġ{} ĊĠĠĠĠĠĠĠ ĠP REF _ N IGHT _ MODE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġmode Ġ= Ġpref . getString ( PRE F _ N IGHT _ MODE , Ġ" 1 ") !! ĊĠĠĠĠĠĠĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( mode . toInt ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠP REF _ TEXT _ SIZE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠLocal Broadcast Manager . getInstance ( my App ). send Broadcast ( Intent ( Keys . ACTION _ TEXT _ SIZE _ CHANGE )) ĊĠĠĠĠĠĠĠĠĠ Ġactivity ?. finish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ