package Ġcom . your ss u . storybook . component Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġcom . your ss u . design . system . atom . Picker Ċ import Ġcom . your ss u . design . system . foundation . Icon Ċ import Ġcom . your ss u . design . system . foundation . Ty po Ċ import Ġcom . your ss u . design . system . language . bottom Sheet Ċ import Ġcom . your ss u . design . system . language . picker Ċ import Ġcom . your ss u . design . system . language . setLayout Ċ import Ġcom . your ss u . design . system . language . text Ċ import Ġcom . your ss u . design . under car riage . size . dp ToInt Px Ċ import Ġcom . your ss u . storybook . databinding . Fragment Single Title Top Bar Binding Ċ Ċ class ĠSingle Title Top Bar Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Single Title Top Bar Binding ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠSingle Title Top Bar ViewModel Ġby Ġview Models () ĊĠĠĠ Ġprivate Ġval Ġicon List Ġ= ĠIcon . getList (). map Ġ{ ĠIcon . getName ( it ) Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġon First Icon Value ChangeListener Ġ= Ġobject Ġ: ĠP icker . On Value ChangeListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Value Change ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Value : ĠString , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . first Icon Text . value Ġ= Ġfirst Value ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . first Icon . value Ġ= ĠIcon . getValue ByName ( first Value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġon Second Icon Value ChangeListener Ġ= Ġobject Ġ: ĠP icker . On Value ChangeListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Value Change ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Value : ĠString , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . second Icon Text . value Ġ= Ġfirst Value ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . second Icon . value Ġ= ĠIcon . getValue ByName ( first Value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġon Third Icon Value ChangeListener Ġ= Ġobject Ġ: ĠP icker . On Value ChangeListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Value Change ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Value : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Value : ĠString , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . third Icon Text . value Ġ= Ġfirst Value ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . third Icon . value Ġ= ĠIcon . getValue ByName ( first Value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Single Title Top Bar Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . first Icon Select . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" First ĠIcon " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtypo Ġ= ĠTy po . Sub Title 2 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Layout ( left Margin Px Ġ= Ġcontext . dp ToInt Px ( 1 6 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpicker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset First Row ( icon List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset First Row Position ( icon List . indexOf ( viewModel . first Icon Text . value )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . on Value ChangeListener Ġ= Ġon First Icon Value ChangeListener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . second Icon Select . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Second ĠIcon " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtypo Ġ= ĠTy po . Sub Title 2 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Layout ( left Margin Px Ġ= Ġcontext . dp ToInt Px ( 1 6 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpicker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset First Row ( icon List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset First Row Position ( icon List . indexOf ( viewModel . second Icon Text . value )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . on Value ChangeListener Ġ= Ġon Second Icon Value ChangeListener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . third Icon Select . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Third ĠIcon " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtypo Ġ= ĠTy po . Sub Title 2 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Layout ( left Margin Px Ġ= Ġcontext . dp ToInt Px ( 1 6 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpicker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset First Row ( icon List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset First Row Position ( icon List . indexOf ( viewModel . third Icon Text . value )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . on Value ChangeListener Ġ= Ġon Third Icon Value ChangeListener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }