package Ġcom . leaf . prefix _ generator _ android . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġcom . leaf . prefix _ generator _ android . R Ċ import Ġcom . leaf . prefix _ generator _ android . base . Base Activity Ċ import Ġcom . leaf . prefix _ generator _ android . databinding . Activity Main Binding Ċ import Ġcom . leaf . prefix _ generator _ android . ui . contract . Main Contract Ċ import Ġcom . leaf . prefix _ generator _ android . ui . presenter . Main Presenter Ċ import Ġcom . leaf . prefix _ generator _ android . utils . Keyboard Util Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity (), ĠMain Contract . View Ġ{ ĊĊĠĠĠ Ġoverride Ġlateinit Ġvar Ġpresenter : ĠMain Contract . Presenter ĊĠĠĠ Ġoverride Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . set ContentView ( this , ĠR . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġbinding . main Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠMain Presenter ( this ) ĊĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ= Ġshow Example () ĊĊĠĠĠ Ġoverride Ġfun Ġshow Example () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġpresenter . add Disposable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . interval ( 0 , Ġ 5 0 0 0 , ĠTimeUnit . MILLISECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġpresenter . get Example Name () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexample _ location . text Ġ= Ġit [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexample _ name . text Ġ= Ġit [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexample _ result _ name . text Ġ= Ġit [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" test ", Ġ"${ it [ 0 ]} Ġ${ it [ 1 ]} Ġ${ it [ 2 ]} ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . dispose Disposable () ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Keyboard () Ġ= ĠKeyboard Util . show Keyboard ( this . current Focus , Ġthis ) ĊĊĠĠĠ Ġoverride Ġfun Ġhide Keyboard () Ġ= ĠKeyboard Util . hide Keyboard ( this . current Focus , Ġthis ) ĊĊĠĠĠ Ġoverride Ġfun Ġshow Toast ( message : ĠString ) Ġ= ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠ Ġoverride Ġfun ĠgetContext (): ĠContext Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġfun Ġbutton OnClick () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġhide Keyboard () ĊĊĠĠĠĠĠĠĠ Ġpresenter . add Disposable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . just ( presenter . get Prefix Name ( location . text . toString (), Ġname . text . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġresult _ name . text Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclip Board OnClick () Ġ= Ġpresenter . clip Board Text ( result _ name ) Ċ Ċ // ĠĠĠ Ġoverride Ġfun Ġshow Fragment () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġpresenter . add Disposable ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . just ( hide Keyboard ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Custom Animations ( R . anim . slide _ up , 0 , 0 , ĠR . anim . slide _ down ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( android . R . id . content , ĠInformation Fragment ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Back Stack ( null ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠ Ġ} Ċ } Ċ