package Ġcom . li y ul ive . time er . ui . my controller Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view .* Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . li y ul ive . time er . R Ċ import Ġcom . li y ul ive . time er . Time Er Application Ċ import Ġcom . li y ul ive . time er . logic . Repository Ċ import Ġcom . li y ul ive . time er . logic . model . Di y Type Ċ import Ġcom . li y ul ive . time er . logic . model . Timer Ċ import Ġcom . li y ul ive . time er . ui . adapter . Type Selector Adapter Ċ import Ġcom . li y ul ive . time er . ui . home . Home ViewModel Ċ import Ġkotlinx . android . synt hetic . main . edit _ fragment .* Ċ import Ġkotlin . concurrent . thread Ċ Ċ class ĠEdit Dialog Fragment ( var Ġtimer : ĠTimer ) Ġ: ĠDialog Fragment () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġtype List : ĠArrayList < Di y Type > ĊĠĠĠ Ġlateinit Ġvar Ġhome ViewModel : ĠHome ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// return Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . edit _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĊĠĠĠĠĠĠĠ Ġ// ä»¥ä¸ĭ å¿ħé¡» åľ¨ onStart ä¸Ń è®¾ç½® çĶŁ æķĪ ĊĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġdialog ?. window ?. attributes ĊĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= Ġdialog ?. window Ġ Ġ// ä¸į è®¾ç½® å¯¼èĩ´ ä¸İ å±ı å¹ķ æľī è·Ŀç¦» ĊĠĠĠĠĠĠĠ Ġlp ?. gravity Ġ= ĠGr avity . BOTTOM ĊĠĠĠĠĠĠĠ Ġlp ?. window Animations Ġ= ĠR . style . dialog _ bottom _ full _ anim ĊĠĠĠĠĠĠĠ Ġlp ?. width Ġ= Ġresources . display Metrics . width Pixels Ġ Ġ// è®¾ç½® å®½åº¦ ï¼Į å·¦ åı³ å¡« æ»¡ ĊĠĠĠĠĠĠĠ Ġlp ?. height Ġ= ĠWindow Manager . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠ Ġwindow ?. attributes Ġ= Ġlp ĊĊĠĠĠĠĠĠĠ Ġhome ViewModel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewModel Provider ( require Activity ()). get ( Home ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġthread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype List Ġ= ĠRepository . query All Type () Ġas ĠArrayList < Di y Type > ĊĠĠĠĠĠĠĠ Ġ}. join () ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( Time Er Application . context ) ĊĠĠĠĠĠĠĠ Ġlayout Manager . orientation Ġ= ĠLinearLayoutManager . HORIZONTAL ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠType Selector Adapter ( type List , Ġresources ) ĊĠĠĠĠĠĠĠ Ġre cyclerView Type Selector . layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠ Ġre cyclerView Type Selector . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġadapter . set Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit _ context . setText ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġedit _ save . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( adapter . m Position Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( Time Er Application . context , Ġ" è¯· éĢīæĭ© ç±»åŀĭ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimer . type Ġ= Ġtype List [ adapter . m Position ]. id . toInt () Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimer . context Ġ= Ġedit _ context . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRepository . update Time Item ( timer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. join () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome ViewModel . getTime List ( home ViewModel . select Day ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠ Ġ} Ċ }