package Ġio . github . yun ato . my record timer . ui . fragment Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġio . github . yun ato . my record timer . R Ċ import Ġio . github . yun ato . my record timer . model . dao . cal endars . Dao Factory Ċ import Ġio . github . yun ato . my record timer . model . dao . sqlite . Database Open Helper Ċ import Ġio . github . yun ato . my record timer . model . dao . sqlite . Record DB Adapter Ċ import Ġio . github . yun ato . my record timer . model . entity . Record Ċ import Ġkotlinx . android . synt hetic . main . fragment _ edit _ record .* Ċ Ċ private Ġconst Ġval ĠARG _ RECORD Ġ= Ġ" io . github . yun ato . my record timer . ui . fragment . ARG _ RECORD " Ċ private Ġconst Ġval ĠARG _ RECORD S Ġ= Ġ" io . github . yun ato . my record timer . ui . fragment . ARG _ RECORD S " Ċ Ċ class ĠEdit Record Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġrecord : ĠRecord Ġ= ĠRecord ( null , Ġ 0 , Ġ 0 , Ġnull , Ġnull , Ġ- 1 , Ġ 0 ) ĊĠĠĠ Ġprivate Ġvar Ġrecords : ĠArrayList < Record > Ġ= Ġarray ListOf () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfragment : ĠSub Edit List Fragment ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecord Ġ= Ġit . get Parcelable ( ARG _ RECORD ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords Ġ= Ġit . get Parcelable ArrayList ( ARG _ RECORD S ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ edit _ record , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġfragment Ġ= ĠSub Edit List Fragment . newInstance ( records ) ĊĠĠĠĠĠĠĠ Ġchild FragmentManager . beginTransaction (). replace ( R . id . content , Ġfragment ). commit () ĊĊĠĠĠĠĠĠĠ Ġrecord . let { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlength Ġ= Ġ( it . end Ġ- Ġit . start ) Ġ/ Ġ 1 0 0 0 L ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsec Ġ= Ġlength Ġ% Ġ 6 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Ġ= Ġ( length Ġ/ Ġ 6 0 ) Ġ% Ġ 6 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhr Ġ= Ġlength Ġ/ Ġ 6 0 Ġ/ Ġ 6 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ view _ length . text Ġ= ĠString . format ("% 0 2 d :% 0 2 d :% 0 2 d ", Ġhr , Ġmin , Ġsec ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Save OnClickListener (): ĠView . OnClickListener Ġ= ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġif ( edit _ text _ title . text . isBlank ()) Ġactivity ?. getString ( R . string . edit _ text _ title _ no ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġedit _ text _ title . text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġmemo Ġ= Ġif ( edit _ text _ memo . text . isBlank ()) Ġactivity ?. getString ( R . string . edit _ text _ memo _ no ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġedit _ text _ memo . text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġadd Records : ĠMutable List < Record > Ġ= Ġmutable ListOf ( Record ( record . id , Ġrecord . start , Ġrecord . end , Ġtitle Ġ?: Ġ"( ãĤ¿ ãĤ¤ãĥĪ ãĥ« ãģª ãģĹ )", Ġmemo Ġ?: Ġ"", Ġrecord . eval , Ġrecord . subs )) ĊĊĠĠĠĠĠĠĠ Ġif ( fragment . statuses . size Ġ!= Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġfragment . statuses . size ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( fragment . statuses [ i ]. isChecked ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Records . add ( Record ( records [ i ]. id , Ġrecords [ i ]. start , Ġrecords [ i ]. end , Ġfragment . statuses [ i ]. title , Ġ"", Ġ- 1 , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġstr Event Ids Ġ= ĠDao Factory . getLocal Dao ( activity ). insert Event Items ( add Records ) ĊĠĠĠĠĠĠĠ Ġval Ġln Event Ids : ĠMutable List < Long > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġfor ( str Ġin Ġstr Event Ids ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġln Event Ids . add ( str . to Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRecord DB Adapter ( activity Ġas ĠContext ). add Operations ( Database Open Helper . O PE _ ADD , Ġln Event Ids ) ĊĠĠĠĠĠĠĠ Ġactivity ?. set Result ( Activity . RESULT _ OK ) ĊĠĠĠĠĠĠĠ Ġactivity ?. finish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( record : ĠRecord , Ġrecords : ĠArrayList < Record >) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEdit Record Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Parcelable ( ARG _ RECORD , Ġrecord ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Parcelable ArrayList ( ARG _ RECORD S , Ġrecords ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ