/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠCh am ich ĠApps . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ package Ġapp . ch am ich . feature . goals . ui . bottom sheet . categories Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . core . view . View Compat Ċ import Ġandroidx . fragment . app . set Fragment Result Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġapp . ch am ich . feature . goals . R Ċ import Ġapp . ch am ich . feature . goals . databinding . Go als Bottom Sheet Dialog Categories Binding Ċ import Ġapp . ch am ich . feature . goals . model . Category Ċ import Ġapp . ch am ich . feature . goals . ui . bottom sheet . Go als Bottom Sheet Ċ import Ġapp . ch am ich . feature . goals . ui . bottom sheet . measure ments . Measure ments Bottom Sheet Ċ Ċ internal Ġclass ĠCategories Bottom Sheet Ġ: ĊĠĠĠ ĠGo als Bottom Sheet < ViewModel , ĠGo als Bottom Sheet Dialog Categories Binding >() Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġselected Category : ĠCategory ĊĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////// ////// ĊĠĠĠ Ġ// region ĠFragment ĠOverride ĠFunctions ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id () Ġ= ĠR . layout . goals _ bottom _ sheet _ dialog _ categories ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġsetup Bindings () ĊĠĠĠĠĠĠĠ Ġsetup Chips ( get CategoryId ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ViewModel Class () Ġ= ĠViewModel :: class . java ĊĊĠĠĠ Ġ// endregion ĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////// ////// ĊĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////// ////// ĊĠĠĠ Ġ// region ĠBinding ĠFunctions ĊĊĠĠĠ Ġfun Ġon Use Measurement Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Fragment Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMeasure ments Bottom Sheet . KEY _ RESULT _ LIST ENER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle Of ( KEY _ RESULT _ CATEGORY Ġto Ġselected Category ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate Up () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Cancel Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate Up () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////// ////// ĊĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////// ////// ĊĠĠĠ Ġ// region ĠPrivate ĠFunctions ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Bindings () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . fragment Ġ= Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Chips ( categoryId : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ ĠCategory . asList (). forEach Ġ{ Ġcategory Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . chip Group Category . addView ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinf late As Chip ( R . layout . goals _ chip _ category , Ġbinding . chip Group Category ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠView Compat . generate View Id () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Checked Ġ= Ġcategory Id Ġ== Ġcategory . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( category . string Res ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ Ġselected Category Ġ= Ġcategory Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget CategoryId () Ġ= ĊĠĠĠĠĠĠĠ Ġarguments ?. getInt ( KEY _ CATEGORY _ ID ) Ġ?: ĠCategory . default (). id ĊĊĠĠĠ Ġ// endregion ĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////// ////// ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ CATEGORY _ ID Ġ= Ġ" KEY _ CATEGORY _ ID " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ RESULT _ CATEGORY Ġ= Ġ" KEY _ RESULT _ CATEGORY " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ RESULT _ LIST ENER Ġ= Ġ" KEY _ RESULT _ LIST ENER " ĊĠĠĠ Ġ} Ċ } Ċ