package Ġuk . n hs . n hs x . covid 1 9 . android . app . settings Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . MainActivity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . R Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . about . Venue History Activity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . about . my data . My Data Activity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . app Component Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . common . Base Activity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . common . ViewModel Factory Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . databinding . Activity Settings Binding Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . settings . animations . Animations Activity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . settings . languages . Languages Activity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . settings . my area . My Area Activity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . startActivity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . util . view utils . set Navigate Up Toolbar Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . util . view utils . setOn Single ClickListener Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠSettings Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġfactory : ĠViewModel Factory < Settings ViewModel > ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠSettings ViewModel Ġby Ġview Models Ġ{ Ġfactory Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Settings Binding ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDialog Ġcurrently Ġdisplayed , Ġor Ġnull Ġif Ġnone Ġare Ġdisplayed ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġcurrent Dialog : ĠDialog ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġapp Component . inject ( this ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Settings Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠĠĠĠĠ Ġset Navigate Up Toolbar ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . primary Toolbar . toolbar , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . settings _ title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġup Indicator Ġ= ĠR . drawable . ic _ arrow _ back _ white ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġsetup ViewModel Listeners () ĊĠĠĠĠĠĠĠ Ġset Click Listeners () ĊĠĠĠĠĠĠĠ ĠviewModel . load Settings () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup ViewModel Listeners () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . view State (). observe ( this ) Ġ{ Ġview State Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . language Option . subtitle Ġ= ĠgetString ( view State . language . language Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view State . show Delete All Data Dialog ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Confirm Deleting All Data Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . getAll UserData Deleted (). observe ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle All UserData Deleted () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Click Listeners () Ġ= Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlanguage Option . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < Languages Activity >() ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmy Area Option . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < My Area Activity >() ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmy Data Option . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < My Data Activity >() ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġven ue History Option . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < Venue History Activity >() ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġaction Delete All Data . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . onDelete All UserData Clicked () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġanimations Option . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < Animations Activity >() ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Confirm Deleting All Data Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġbuilder . setTitle ( getString ( R . string . about _ delete _ your _ data _ title )) ĊĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . delete _ data _ explanation ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . about _ delete _ positive _ text ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . delete All UserData () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuilder . set Negative Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . cancel ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuilder . setOn Dismiss Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Dialog Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . on Dialog Dis missed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcurrent Dialog Ġ= Ġbuilder . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle All UserData Deleted () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity < MainActivity > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TASK ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ } Ċ