package Ġcom . f zm . chat 3 3 . main . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . fu z ame i . common . utils . Keyboard Utils Ċ import Ġcom . fu z ame i . common . utils . Show Utils Ċ import Ġcom . fu z ame i . component service . base . D IL o ad able Fragment Ċ import Ġcom . fu z ame i . component service . ext . find ViewModel Ċ import Ġcom . f zm . chat 3 3 . R Ċ import Ġcom . f zm . chat 3 3 . main . mv vm . Encrypt Password ViewModel Ċ import Ġcom . f zm . chat 3 3 . utils . Simple Text Watcher Ċ import Ġkotlinx . android . synt hetic . main . fragment _ update _ encrypt _ password .* Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* Ġ@ author Ġzh eng jy Ċ Ġ* Ġ@ since Ġ 2 0 1 9 / 1 0 / 2 4 Ċ Ġ* ĠDescription : Ċ Ġ*/ Ċ class ĠUpdate Encrypt Password Fragment Ġ: ĠD IL o ad able Fragment () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġprovider : ĠViewModel Provider . Factory ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠEncrypt Password ViewModel ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ update _ encrypt _ password ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= Ġfind ViewModel ( provider ) ĊĠĠĠĠĠĠĠ Ġc tb _ title . set Middle Text ( getString ( R . string . chat _ title _ encrypt _ password )) ĊĠĠĠĠĠĠĠ Ġc tb _ title . set Right Visible ( false ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . loading . observe ( this , ĠObserver Ġ{ Ġsetup Loading ( it ) Ġ}) ĊĠĠĠĠĠĠĠ ĠviewModel . old Error . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ password _ error . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ password _ error . text Ġ= ĠgetString ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠviewModel . new Error . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ new _ password _ error . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ new _ password _ error . text Ġ= ĠgetString ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠviewModel . new Second Error . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ new _ password _ error _ again . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ new _ password _ error _ again . text Ġ= ĠgetString ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠviewModel . change Result . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShow Utils . show Toast Normal ( activity , ĠgetString ( R . string . chat _ tips _ update _ encrypt _ pwd 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġet _ old _ pwd . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKeyboard Utils . show Keyboard ( et _ old _ pwd ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġc tb _ title . set Left Listener Ġ{ Ġfinish () Ġ} ĊĠĠĠĠĠĠĠ Ġtv _ submit . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold Ġ= Ġet _ old _ pwd . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Ġ= Ġet _ new _ pwd . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Again Ġ= Ġet _ new _ pwd _ again . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . change Password ( old , Ġnew , Ġnew Again ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġet _ old _ pwd . setOn Focus ChangeListener Ġ{ Ġ_, Ġhas Focus Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold Ġ= Ġet _ old _ pwd . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! has Focus Ġ&& Ġold . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check Old Password ( old ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġet _ new _ pwd . setOn Focus ChangeListener Ġ{ Ġ_, Ġhas Focus Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Ġ= Ġet _ new _ pwd . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! has Focus Ġ&& Ġnew . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check New ( new ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . reset Second Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġet _ new _ pwd _ again . add TextChanged Listener ( object Ġ: ĠSimple Text Watcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . reset Second Error () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }