package Ġorg . ka qui . settings Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġkotlinx . android . synt hetic . main . item _ selection _ activity .* Ċ import Ġorg . ka qui . Base Activity Ċ import Ġorg . ka qui . R Ċ import Ġorg . ka qui . Stats Fragment Ċ import Ġorg . ka qui . model . Database Ċ import Ġorg . ka qui . model . Learning Db View Ċ Ċ class ĠItem Selection Activity Ġ: ĠBase Activity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb View : ĠLearning Db View ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlist Adapter : ĠItem Selection Adapter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġstats Fragment : ĠStats Fragment ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmode : ĠMode ĊĠĠĠ Ġprivate Ġvar Ġselected Level : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġenum Ġclass ĠMode Ġ{ ĊĠĠĠĠĠĠĠ ĠH IR AG ANA , ĊĠĠĠĠĠĠĠ ĠK ATA KAN A , ĊĠĠĠĠĠĠĠ ĠK AN JI , ĊĠĠĠĠĠĠĠ ĠWORD , ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġmode Ġ= Ġintent . get Serializable Extra (" mode ") Ġas ĠMode ĊĊĠĠĠĠĠĠĠ Ġif Ġ( mode Ġ== ĠMode . KAN JI Ġ|| Ġmode Ġ== ĠMode . WORD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Level Ġ= Ġintent . getInt Extra (" level ", Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( selected Level !! Ġ< Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Invalid Ġlevel Ġ$ selected Level ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . item _ selection _ activity ) ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġstats Fragment Ġ= ĠStats Fragment . newInstance () ĊĠĠĠĠĠĠĠ Ġstats Fragment . set Show Disabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . global _ stats , Ġstats Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĊĠĠĠĠĠĠĠ Ġdb View Ġ= Ġwhen Ġ( mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode . HIR AG ANA Ġ-> ĠDatabase . getInstance ( this ). hir ag ana View ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode . K ATA KAN A Ġ-> ĠDatabase . getInstance ( this ). k ata k ana View ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode . KAN JI Ġ-> ĠDatabase . getInstance ( this ). get K an ji View ( selected Level !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode . WORD Ġ-> ĠDatabase . getInstance ( this ). get Word View ( selected Level !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlist Adapter Ġ= ĠItem Selection Adapter ( db View , Ġthis , Ġstats Fragment ) ĊĠĠĠĠĠĠĠ Ġitem _ list . adapter Ġ= Ġlist Adapter ĊĠĠĠĠĠĠĠ Ġitem _ list . layout Manager Ġ= Ġandroidx . recyclerview . widget . Linear LayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġlist Adapter . setup () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĊĠĠĠĠĠĠĠ Ġstats Fragment . update Stats ( db View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . item _ selection _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . select _ all Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb View . set All Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstats Fragment . update Stats ( db View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . select _ none Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb View . set All Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstats Fragment . update Stats ( db View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Item Selection Activity " ĊĠĠĠ Ġ} Ċ } Ċ