package Ġio . exo ji 2 e . s ugar top . activities Ċ Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . FragmentManager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment State Pager Adapter Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġio . exo ji 2 e . s ugar top .* Ċ import Ġio . exo ji 2 e . s ugar top . database . Db Worker Thread Ċ import Ġkotlinx . android . synt hetic . main . dashboard _ layout .* Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġjava . util . Calendar ĊĊ Ċ class ĠHistory Activity Ġ: ĠBase Activity () Ġ{ ĊĠĠĠ Ġvar ĠNUM _ ITEMS Ġ= ĠTime . date _ as _ int () ĊĠĠĠ Ġoverride Ġval ĠTAG Ġ= Ġ" HISTORY " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Sections Pager Adapter : ĠSe ctions Pager Adapter ĊĊĠĠĠ Ġoverride Ġfun Ġget ContentView Id (): ĠInt Ġ= ĠR . layout . dashboard _ layout ĊĠĠĠ Ġoverride Ġfun Ġget Navigation MenuItem Id () Ġ= ĠR . id . action _ history ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġm Sections Pager Adapter Ġ= ĠSe ctions Pager Adapter ( support FragmentManager ) ĊĠĠĠĠĠĠĠ ĠNUM _ ITEMS Ġ= ĠTime . date _ as _ int () ĊĠĠĠĠĠĠĠ Ġcontainer . adapter Ġ= Ġm Sections Pager Adapter ĊĠĠĠĠĠĠĠ Ġcontainer . setCurrent Item ( NUM _ ITEMS Ġ- Ġ 1 , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġmy Calendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate Picker Dialog . On Date Set Listener Ġ{ Ġview , Ġyear , Ġmonth OfYear , Ġday OfMonth Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Calendar . set ( Calendar . YEAR , Ġyear ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Calendar . set ( Calendar . MONTH , Ġmonth OfYear ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Calendar . set ( Calendar . DAY _ OF _ MONTH , Ġday OfMonth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . setCurrent Item ( NUM _ ITEMS Ġ- Ġ 1 Ġ- ĠTime . days _ since ( year , Ġmonth OfYear , Ġday OfMonth ) Ġ, Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpager _ title _ strip . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Dialog ( this @ History Activity , Ġdate , Ġmy Calendar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Calendar . YEAR ), Ġmy Calendar . get ( Calendar . MONTH ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy Calendar . get ( Calendar . DAY _ OF _ MONTH )). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠSe ctions Pager Adapter ( fm : ĠFragment Manager ) Ġ: ĠFragment State Pager Adapter ( fm ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠHistory Fragment . newInstance ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNUM _ ITEMS ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Page Title ( position : ĠInt ) Ġ: ĠCharSequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠTime . date _ as _ int () Ġ- Ġ 1 Ġ- Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTime . date _ as _ string ( day ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġclass ĠHistory Fragment Ġ: ĠDashboard Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroot View Ġ= Ġinflater . inflate ( R . layout . fragment _ dashboard , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠTime . date _ as _ int () Ġ- Ġ 1 Ġ- Ġ( if ( arguments Ġ!= Ġnull ) Ġarguments !!. getInt ( History Fragment . ARG _ SECTION _ NUMBER ) Ġelse ĠTime . date _ as _ int () Ġ- Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( start , Ġend ) Ġ= ĠTime . limits ( day ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( context != null ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġgenerate _ task ( start , Ġend , Ġcontext !! , ĠPush 2 Plot . Plot Type . DAY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDb Worker Thread . post Task ( task ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval ĠARG _ SECTION _ NUMBER Ġ= Ġ" section _ number " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( section Number : ĠInt ): ĠDashboard Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠHistory Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Int ( ARG _ SECTION _ NUMBER , Ġsection Number ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ