package Ġcom . ian h ann ib all ake . contr action timer . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Base Columns Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . Loader Manager Ċ import Ġandroid . support . v 4 . content . Cursor Loader Ċ import Ġandroid . support . v 4 . content . Loader Ċ import Ġandroid . support . v 4 . widget . Cursor Adapter Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . Menu Inflater Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ Ċ // import Ġcom . google . firebase . analytics . Firebase Analytics Ċ import Ġcom . ian h ann ib all ake . contr action timer . Build Config Ċ import Ġcom . ian h ann ib all ake . contr action timer . R Ċ import Ġcom . ian h ann ib all ake . contr action timer . provider . Con traction Contract Ċ Ċ /** Ċ Ġ* ĠHead less Ġfragment Ġwhich Ġcontrols Ġthe ĠReset Ġaction Ġin Ġthe ĠMainActivity ĠAction Bar , Ċ Ġ* Ġenabling / dis abling Ġit Ġbased Ġon Ġwhether Ġthere Ġare Ġcontr actions Ġto Ġreset Ċ Ġ*/ Ċ class ĠReset Menu Controller Fragment Ġ: ĠFragment (), ĠLoader Manager . Loader Callbacks < Cursor > Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Reset Menu Controller " ĊĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCursor ĠAdapter Ġwhich Ġholds Ġthe Ġcurrent Ġcontr actions ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠCursor Adapter ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġadapter Ġ= Ġobject Ġ: ĠCursor Adapter ( activity , Ġnull , Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( view : ĠView , Ġcontext : ĠContext , Ġcursor : ĠCursor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNothing Ġto Ġdo ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew View ( context : ĠContext , Ġcursor : ĠCursor , Ġparent : ĠViewGroup ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġloader Manager . init Loader ( 0 , Ġnull , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Loader ( id : ĠInt , Ġargs : ĠBundle ?): ĠLoader < Cursor > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprojection Ġ= ĠarrayOf ( Base Columns ._ ID ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCursor Loader ( activity , ĠCon traction Contract . Contr actions . CONTENT _ URI , Ġprojection , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġnull , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Loader Reset ( loader : ĠLoader < Cursor >) Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . swap Cursor ( null ) ĊĠĠĠĠĠĠĠ Ġactivity . support Invalidate Options Menu () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonLoad Finished ( loader : ĠLoader < Cursor >, Ġdata : ĠCursor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . swap Cursor ( data ) ĊĠĠĠĠĠĠĠ Ġactivity . support Invalidate Options Menu () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . fragment _ reset _ menu _ controller , Ġmenu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Prepare Options Menu ( menu : ĠMenu ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Prepare Options Menu ( menu ) ĊĠĠĠĠĠĠĠ Ġval Ġcontr action Count Ġ= Ġadapter . count ĊĠĠĠĠĠĠĠ Ġval Ġhas Contr actions Ġ= Ġcontr action Count Ġ> Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġreset Ġ= Ġmenu . find Item ( R . id . menu _ reset ) ĊĠĠĠĠĠĠĠ Ġreset . isEnabled Ġ= Ġhas Contr actions ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ reset Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Menu Ġselected ĠReset ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreset Dialog Fragment Ġ= ĠReset Dialog Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Showing ĠDialog ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Analytics . getInstance ( context ). log Event (" reset _ open ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset Dialog Fragment . show ( fragment Manager , Ġ" reset ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ