package Ġmot oc it izen . presentation . screens . acc ident . create . description Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġkotlinx . android . synt hetic . main . fragment _ create _ final .* Ċ import Ġmot oc it izen . app . utils . show Keyboard Ċ import Ġmot oc it izen . domain . lc en state . is Content Ċ import Ġmot oc it izen . domain . lc en state . isError Ċ import Ġmot oc it izen . domain . lc en state . isLoading Ċ import Ġmot oc it izen . domain . model . acc ident . Acc ident Hard ness Ċ import Ġmot oc it izen . main . R Ċ import Ġmot oc it izen . presentation . base . on TextChanged Ċ import Ġmot oc it izen . presentation . base . view model . VM Fragment Ċ import Ġmot oc it izen . presentation . screens . root . Root Activity Ċ Ċ const Ġval ĠMIN IMAL _ TEXT _ SIZE Ġ= Ġ 6 Ċ Ċ @ Android EntryPoint Ċ class ĠCreate Description Fragment Ġ: ĊĠĠĠ ĠVM Fragment < Create Description ViewModel >( R . layout . fragment _ create _ final ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġnav Controller Ġby Ġlazy Ġ{ Ġfind Nav Controller () Ġ} ĊĠĠĠ Ġprivate Ġval Ġargs : ĠCreate Description Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠCreate Description ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun Ġinit ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . on After Init ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// todo Ġ# 6 9 ĠÐŁ ÐµÑĢ ÐµÐ´ ÐµÐ» Ð°ÑĤÑĮ ĠÐº Ð¾Ð³Ð´Ð° ĠCustom ĠEnum Ġsupports Ġnull Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( args . hard ness Ġ!= ĠAcc ident Hard ness . NULL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . hard ness ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . address ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Home () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnav Controller Ġ= Ġfind Nav Controller () ĊĠĠĠĠĠĠĠ Ġnav Controller . pop Back Stack ( R . id . create Map Fragment , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġactivity Ġas ĠRoot Activity ĊĠĠĠĠĠĠĠ Ġroot . to Home () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Ui ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtool _ bar . setTitle ( getString ( R . string . details )) ĊĠĠĠĠĠĠĠ Ġtool _ bar . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Left Icon Click Ġ= Ġ{ Ġnav Controller . navigate Up () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcreate _ final _ text . on TextChanged Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate _ button . isEnabled Ġ= Ġargs . type . is Acc ident () Ġ|| Ġinput . length Ġ> ĠMIN IMAL _ TEXT _ SIZE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// todo ĠÐ£ Ð± ÑĢ Ð°ÑĤÑĮ ĠÐ¿Ð¾ÑģÐ» Ðµ ĠÐ¾ÑĤ Ð» Ð°Ð´ ÐºÐ¸ ĊĠĠĠĠĠĠĠ Ġcreate _ final _ text . setText (" ÐĿ Ð¸ ĠÑĩ ÐµÐ³Ð¾ ĠÑģÑĤ ÑĢÐ° ÑĪ Ð½Ð¾Ð³Ð¾ ") ĊĠĠĠĠĠĠĠ Ġcreate _ button . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ// todo ĠÐ£ Ð± ÑĢ Ð°ÑĤÑĮ ĠÐ¿Ð¾ÑģÐ» Ðµ ĠÐ¾ÑĤ Ð» Ð°Ð´ ÐºÐ¸ ĊĊĠĠĠĠĠĠĠ Ġcreate _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . create ( create _ final _ text . text . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . create State . observe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow _ progress . isVisible Ġ= Ġit . isLoading () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror _ view . isVisible Ġ= Ġit . isError () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . isVisible Ġ= Ġit . is Content () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . isVisible Ġ= Ġ! it . is Content () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . as Content OrNull ()?. let Ġ{ Ġto Home () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Keyboard () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Keyboard ( create _ final _ text ) ĊĠĠĠ Ġ} Ċ }