package Ġcom . blank . github user . ui . setting Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Settings Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . preference .* Ċ import Ġandroidx . transition . Fade Ċ import Ġcom . blank . github user . R Ċ import Ġcom . blank . github user . data . service . Alarm Receiver Ċ import Ġjava . util .* Ċ Ċ class ĠSettings Fragment Ġ: ĠPreference Fragment Compat (), ĊĠĠĠ ĠSharedPreferences . On Shared Preference ChangeListener Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġshared Preferences ( context : ĠContext ): ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġenter Transition Ġ= ĠF ade () ĊĠĠĠĠĠĠĠ Ġexit Transition Ġ= ĠF ade () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġpreference Manager . context ĊĠĠĠĠĠĠĠ Ġval Ġscreen Ġ= Ġpreference Manager . create Preference Screen ( context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlanguage Ġ= ĠPreference ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= ĠgetString ( R . string . language _ key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . language _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent Ġ= ĠIntent ( Settings . ACTION _ LOCAL E _ SETTINGS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Ġ= ĠLocale . getDefault (). display Language ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠContext Compat . get Drawable ( require Context (), ĠR . drawable . ic _ g _ translate ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlanguage Category Ġ= ĠPreference Category ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= ĠgetString ( R . string . language _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . language _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġscreen . add Preference ( language Category ) ĊĠĠĠĠĠĠĠ Ġlanguage Category . add Preference ( language ) ĊĊĠĠĠĠĠĠĠ Ġval Ġreminder Ġ= ĠSwitch Preference Compat ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= ĠgetString ( R . string . reminder _ key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Off Ġ= ĠgetString ( R . string . notification _ summary _ off ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary On Ġ= ĠgetString ( R . string . notification _ summary _ on ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . notification _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠContext Compat . get Drawable ( require Context (), ĠR . drawable . ic _ notifications ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnotification Category Ġ= ĠPreference Category ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . notification _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġscreen . add Preference ( notification Category ) ĊĠĠĠĠĠĠĠ Ġnotification Category . add Preference ( reminder ) ĊĊĠĠĠĠĠĠĠ Ġpreference Screen Ġ= Ġscreen ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġpreference Manager . shared Preferences . register On Shared Preference ChangeListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġpreference Manager . shared Preferences . unregister On Shared Preference ChangeListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Shared Preference Changed ( shared Preferences : ĠSharedPreferences , Ġkey : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreminder Key Ġ= ĠgetString ( R . string . reminder _ key ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreminder Key Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Reminder Ġ= Ġshared Preferences . getBoolean ( key , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalarm Receiver Ġ= ĠAlarm Receiver () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Reminder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! alarm Receiver . is Alarm On ( require Context ())) Ġalarm Receiver . set Repe ating Alarm ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alarm Receiver . is Alarm On ( require Context ())) Ġalarm Receiver . cancel Alarm ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }