package Ġcom . fl am yo ad . ts uk iv iew er . ui . home . tags Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ Ċ import Ġcom . fl am yo ad . ts uk iv iew er . R Ċ import Ġcom . fl am yo ad . ts uk iv iew er . adapter . D ou jin Tags Adapter Ċ import Ġcom . fl am yo ad . ts uk iv iew er . model . D ou jin Ċ import Ġcom . fl am yo ad . ts uk iv iew er . model . Tag Ċ import Ġcom . fl am yo ad . ts uk iv iew er . model . Tag Type Ċ import Ġcom . google . android . flex box . Flex Direction Ċ import Ġcom . google . android . flex box . Flex Wrap Ċ import Ġcom . google . android . flex box . Flex box Item Decoration Ċ import Ġcom . google . android . flex box . Flex box LayoutManager Ċ import Ġkotlinx . android . synt hetic . main . fragment _ tag .* Ċ Ċ private Ġconst Ġval ĠTAG _ NAME Ġ= Ġ" tag _ name " Ċ Ċ class ĠTag Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġactivity ViewModels < D ou jin Tags ViewModel >() ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠD ou jin Tags Adapter ( true ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġadapter . set Listener ( this :: show Delete Dialog ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ tag , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit List () ĊĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġarguments ĊĊĠĠĠĠĠĠĠ Ġbundle ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtag Type Ġ= ĠTag Type . valueOf ( it . getString ( TAG _ NAME ) Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . getTag Items ( tag Type ). observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set List ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit List () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist Tags . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġval Ġlinear LayoutManager Ġ= ĠLinearLayoutManager ( require Context (), ĠLinearLayoutManager . VERTICAL , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġlist Tags . layout Manager Ġ= Ġlinear LayoutManager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Delete Dialog ( tag : ĠTag ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠDialog Delete Tag . newInstance ( tag ) ĊĠĠĠĠĠĠĠ Ġdialog . show ( child FragmentManager , ĠDialog Delete Tag . name ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( tag Type : ĠTag Type ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTag Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( TAG _ NAME , Ġtag Type . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ