package Ġcom . w ur uo ye . know . ui . edit Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġcom . google . android . material . tabs . Tab Layout Ċ import Ġcom . google . android . material . text field . TextInput Layout Ċ import Ġcom . w ur uo ye . know . R Ċ import Ġcom . w ur uo ye . know . ui . base . Leak Activity Ċ import Ġcom . w ur uo ye . know . ui . edit . vm . I Record Type Edit VM Ċ import Ġcom . w ur uo ye . know . ui . edit . vm . Record Type Edit ViewModel Ċ import Ġcom . w ur uo ye . know . ui . home . adapter . Fragment Adapter Ċ import Ġcom . w ur uo ye . know . util . Injector Util Ċ import Ġcom . w ur uo ye . know . widgets . Bottom AlertDialog Ċ Ċ /** Ċ Ġ* ĠCreated Ġat Ġ 2 0 1 9 / 4 / 1 0 Ġ 1 9 : 4 4 Ġby Ġwur uo ye Ċ Ġ* ĠDescription : Ċ Ġ*/ Ċ class ĠRecord Type Edit Activity Ġ: ĊĠĠĠ ĠLe ak Activity (), ĊĠĠĠ ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdlg Title : ĠBottom AlertDialog ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtil Title : ĠText Input Layout ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġet Title : ĠEditText ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Title : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv Back : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv More : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtl : ĠTab Layout ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvp : ĠView Pager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvm : ĠI Record Type Edit VM ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ record _ type _ edit ) ĊĊĠĠĠĠĠĠĠ Ġvm Ġ= ĠViewModel Providers . of ( this , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInject or Util . record Type Edit ViewModel Factory ( application Context )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Record Type Edit ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġinit Data () ĊĠĠĠĠĠĠĠ Ġbind View () ĊĠĠĠĠĠĠĠ Ġbind Listener () ĊĠĠĠĠĠĠĠ Ġinit Dlg () ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġsubscribe UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġintent . getLong Extra ( RECORD _ TYPE , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġvm . set Record TypeId ( if Ġ( id Ġ== Ġ- 1 L ) Ġnull Ġelse Ġid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind View () Ġ{ ĊĠĠĠĠĠĠĠ Ġtv Title Ġ= ĠfindViewById ( R . id . tv _ title _ toolbar ) ĊĠĠĠĠĠĠĠ Ġiv Back Ġ= ĠfindViewById ( R . id . iv _ back _ toolbar ) ĊĠĠĠĠĠĠĠ Ġiv More Ġ= ĠfindViewById ( R . id . iv _ more _ toolbar ) ĊĠĠĠĠĠĠĠ Ġtl Ġ= ĠfindViewById ( R . id . tl _ toolbar ) ĊĠĠĠĠĠĠĠ Ġvp Ġ= ĠfindViewById ( R . id . vp _ record _ type _ edit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġiv Back . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv More . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġtv Title . setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Inf late Params ") ĊĠĠĠ Ġprivate Ġfun Ġinit Dlg () Ġ{ ĊĠĠĠĠĠĠĠ Ġtil Title Ġ= ĠLayoutInflater . from ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . dlg _ edit , Ġnull ) Ġas ĠText Input Layout ĊĠĠĠĠĠĠĠ Ġtil Title . hint Ġ= Ġ" è®°å½ķ ç±»åŀĭ åĲįç§° " ĊĠĠĠĠĠĠĠ Ġet Title Ġ= Ġtil Title . edit Text !! ĊĠĠĠĠĠĠĠ Ġet Title . setOn Editor ActionListener Ġ{ Ġ_, Ġaction Id , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action Id Ġ== ĠEditor Info . IME _ ACTION _ DONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit Title () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdlg Title Ġ= ĠBottom AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ContentView ( til Title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Confirm Listener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel Listener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġiv Back . setImage Resource ( R . drawable . ic _ left ) ĊĠĠĠĠĠĠĠ Ġiv More . setImage Resource ( R . drawable . ic _ check ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠFragment Adapter ( support FragmentManager , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( Record Type Edit Fragment (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecord Type Edit Show Fragment ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" ç¼ĸè¾ĳ ", Ġ" é¢Ħ è§Ī ")) ĊĠĠĠĠĠĠĠ Ġvp . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġtl . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġtl . setup With ViewPager ( vp ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubscribe UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġvm . record Type . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Title . text Ġ= Ġit . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . title . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdlg Title . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġvm . submit Result . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( v ?. id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ title _ toolbar Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Title . setText ( vm . record Type . value ?. title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdlg Title . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ back _ toolbar Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ more _ toolbar Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvm . save Record Type () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn _ confirm _ dlg _ bottom _ alert Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit Title () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn _ cancel _ dlg _ bottom _ alert Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubmit Title () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġet Title . text ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext . isEmpty () Ġ-> Ġtil Title . error Ġ= Ġ" åĲįåŃĹ ä¸įèĥ½ä¸ºç©º " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext . length Ġ> ĠMAX _ TITLE _ LENGTH Ġ-> Ġtil Title . error Ġ= Ġ" åĲįåŃĹ éķ¿åº¦ ä¸įèĥ½ è¶ħè¿ĩ Ġ$ MAX _ TITLE _ LENGTH " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdlg Title . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvm . setTitle ( text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMAX _ TITLE _ LENGTH Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREC ORD _ TYPE Ġ= Ġ" type " ĊĊĠĠĠĠĠĠĠ Ġval ĠITEM _ VIEW Ġ= ĠarrayOf (" ä¿®æĶ¹ æİ§ä»¶ ", Ġ" åĪłéĻ¤ æİ§ä»¶ ") ĊĠĠĠĠĠĠĠ Ġval ĠITEM _ LAYOUT Ġ= ĠarrayOf (" ä¿®æĶ¹ æİ§ä»¶ ", Ġ" åĪłéĻ¤ æİ§ä»¶ ", Ġ" å¢ŀåĬł åŃĲ æİ§ä»¶ ") ĊĠĠĠ Ġ} Ċ }