package Ġcom . bern af err ari . change detection Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . edit Ċ import Ġcom . bern af err ari . change detection . group ie . Dialog Item Interval Ċ import Ġcom . bern af err ari . change detection . group ie . Dialog Item Separator Ċ import Ġcom . bern af err ari . change detection . group ie . Dialog Item Switch Ċ import Ġcom . bern af err ari . change detection . ui . Rounded Bottom Sheet Dialog Fragment Ċ import Ġcom . mike pen z . community _ material _ type face _ library . Community Material Ċ import Ġcom . mike pen z . google _ material _ type face _ library . Google Material Ċ import Ġcom . mike pen z . icon ics . Icon ics Drawable Ċ import Ġcom . or h ano but . logger . Logger Ċ import Ġcom . x wr ay . group ie . Group Adapter Ċ import Ġcom . x wr ay . group ie . Section Ċ import Ġcom . x wr ay . group ie . ViewHolder Ċ import Ġcom . x wr ay . group ie . kotlin and roi dex t ensions . Item Ċ import Ġkotlinx . android . synt hetic . main . settings . view .* Ċ Ċ class ĠSettings Fragment Ġ: ĠRo unded Bottom Sheet Dialog Fragment () Ġ{ ĊĠĠĠ Ġval Ġcolor : ĠInt Ġby Ġlazy Ġ{ ĠContext Compat . getColor ( require Activity (), ĠR . color . Font Strong ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . settings , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġgroup Adapter Ġ= ĠGroup Adapter < ViewHolder >() ĊĊĠĠĠĠĠĠĠ Ġval Ġupdating Ġ= Ġmutable ListOf < Item >() ĊĠĠĠĠĠĠĠ Ġval Ġsync Settings Ġ= Ġmutable ListOf < Item >() ĊĠĠĠĠĠĠĠ Ġval Ġsync Section Ġ= ĠSection () ĊĠĠĠĠĠĠĠ Ġval Ġshared Prefs Ġ= ĠApplication . instance !!. shared Prefs (" worker Preferences ") ĊĊĠĠĠĠĠĠĠ Ġfun Ġupdate SharedPreferences ( key : ĠString , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWorker Helper . update Worker With Constraints ( shared Prefs ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdating Ġ+= ĠDialog Item Switch ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . background _ sync ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ics Drawable ( context , ĠGoogle Material . Icon . gmd _ sync ). color ( color ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . getBoolean (" background Sync ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean (" background Sync ", Ġit . is Switch On ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Switch On ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsync Section . update ( sync Settings ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWorker Helper . update Worker With Constraints ( shared Prefs ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsync Section . update ( mutable ListOf ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWorker Helper . cancel Work () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsync Settings Ġ+= ĠDialog Item Interval ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . sync _ interval ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . getLong ( Worker Helper . DELAY , Ġ 6 0 ). toInt () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Long ( Worker Helper . DELAY , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWorker Helper . update Worker With Constraints ( shared Prefs ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . d (" Re loaded ! Ġ$ it Ġmin ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsync Settings Ġ+= ĠDialog Item Separator ( getString ( R . string . constraints )) ĊĊĠĠĠĠĠĠĠ Ġsync Settings Ġ+= ĠDialog Item Switch ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . wifi _ on ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ics Drawable ( context , ĠCommunity Material . Icon . cmd _ wifi ). color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . getBoolean ( Worker Helper . WIFI , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate SharedPreferences ( Worker Helper . WIFI , Ġit . is Switch On ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsync Settings Ġ+= ĠDialog Item Switch ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . ch arging ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ics Drawable ( context , ĠCommunity Material . Icon . cmd _ battery _ ch arging ). color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . getBoolean ( Worker Helper . CHAR GING , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate SharedPreferences ( Worker Helper . CHAR GING , Ġit . is Switch On ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsync Settings Ġ+= ĠDialog Item Switch ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . b atter _ not _ low ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ics Drawable ( context , ĠCommunity Material . Icon . cmd _ battery _ 2 0 ). color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . getBoolean ( Worker Helper . B ATTER Y NOT LOW , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate SharedPreferences ( Worker Helper . B ATTER Y NOT LOW , Ġit . is Switch On ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Settings Ġ+= ĠDialog Item Switch ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . device _ idle ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ics Drawable ( context , ĠCommunity Material . Icon . cmd _ sleep ). color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Prefs . getBoolean ( Worker Helper . IDLE , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate SharedPreferences ( Worker Helper . IDLE , Ġit . is Switch On ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( shared Prefs . getBoolean (" background Sync ", Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Section . update ( sync Settings ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . default Recycler . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( this . context ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġgroup Adapter . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . item Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . add ( Section ( updating )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . add ( sync Section ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} Ċ } ĊĊ