package Ġio . mu un . apollo . presentation . ui . fragments . rc _ only _ login Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġbutter knife . BindView Ċ import Ġio . mu un . apollo . R Ċ import Ġio . mu un . apollo . domain . errors . User Facing Error Ċ import Ġio . mu un . apollo . presentation . ui . base . Single Fragment Ċ import Ġio . mu un . apollo . presentation . ui . new _ operation . Title And Description Drawer Ċ import Ġio . mu un . apollo . presentation . ui . utils . Styled String Res Ċ import Ġio . mu un . apollo . presentation . ui . view . Mu un Button Ċ import Ġio . mu un . apollo . presentation . ui . view . Mu un Header Ċ import Ġio . mu un . apollo . presentation . ui . view . Mu un Recovery Code Box Ċ Ċ class ĠR c Only Login Fragment : ĠSingle Fragment < Rc Only Login Presenter >(), ĠR c Only Login View Ġ{ ĊĊĠĠĠ Ġ@ BindView ( R . id . rc _ only _ login _ whats _ this ) ĊĠĠĠ Ġlateinit Ġvar Ġwh ats This : ĠTextView ĊĊĠĠĠ Ġ@ BindView ( R . id . rc _ only _ login _ recovery _ code _ box ) ĊĠĠĠ Ġlateinit Ġvar Ġrecovery Code Box : ĠMu un Recovery Code Box ĊĊĠĠĠ Ġ@ BindView ( R . id . rc _ only _ login _ continue ) ĊĠĠĠ Ġlateinit Ġvar Ġsubmit Button : ĠMu un Button ĊĊĠĠĠ Ġoverride Ġfun Ġinject () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomponent . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Resource (): ĠInt Ġ= ĊĠĠĠĠĠĠĠ ĠR . layout . fragment _ rc _ only _ login ĊĊĠĠĠ Ġoverride Ġfun Ġinitialize Ui ( view : ĠView ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġparent Activity . header . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Navigation ( Mu un Header . Navigation . BACK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Title ( R . string . login _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset E lev ated ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrecovery Code Box . set Editable ( true ) ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . setOn Edited Listener ( this :: on Recovery Code Edited ) ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . request Focus On First Editable Segment () ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . setOn Keyboard Next Listeners () ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . setOn Keyboard Done Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( submit Button . isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit Button . call OnClick () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwh ats This . text Ġ= Ġget What This Text () ĊĠĠĠĠĠĠĠ Ġsubmit Button . setOnClickListener ( this :: on Continue Click ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġon Recovery Code Edited ( recovery Code Box . segment Inputs Content ) Ġ// Ġre - trigger Ġvalidation ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . request Focus On First Editable Segment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġblock Screenshots (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Loading ( loading : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsubmit Button . set Loading ( loading ) ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . set Editable (! loading ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . go Back () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Recovery Code Error ( error : ĠUser Facing Error ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . setError ( error ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Legacy Recovery Code Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġrecovery Code Box . show Legacy Recovery Code Error Ġ{ Ġon Back Pressed () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Confirm Enabled ( enabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsubmit Button . isEnabled Ġ= Ġenabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Recovery Code Edited ( recovery Code : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Recovery Code Edited ( recovery Code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Continue Click ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . submit Recovery Code ( recovery Code Box . segment Inputs Content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget What This Text () Ġ= ĊĠĠĠĠĠĠĠ ĠStyled String Res ( require Context (), ĠR . string . rc _ only _ login _ whats _ this , Ġthis :: on Link Click ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to CharSequence () ĊĊĠĠĠ Ġprivate Ġfun Ġon Link Click ( id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠTitle And Description Drawer () ĊĠĠĠĠĠĠĠ Ġdialog . setTitle ( R . string . rc _ only _ login _ whats _ this _ dialog _ title ) ĊĠĠĠĠĠĠĠ Ġdialog . setDescription ( getString ( R . string . rc _ only _ login _ whats _ this _ dialog _ body )) ĊĠĠĠĠĠĠĠ Ġshow Drawer Dialog ( dialog ) ĊĠĠĠ Ġ} Ċ } Ċ