package Ġcom . e use com . sam sh o pers ung Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . ProgressBar Ċ import Ġcom . e use com . sam sh o pers ung . models . Ek assa Request Backup Ċ import Ġcom . e use com . sam sh o pers ung . models . Ek assa Settings Ċ import Ġcom . e use com . sam sh o pers ung . r xb us . Rx Bus Ċ import Ġdagger . android . Android Injection Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjavax . inject . Inject Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġorg . jetbrains . ank o . toast Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠOr p Settings Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġm ViewModel : ĠShop per IM v vm ViewModel ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġm Rx Bus : ĠRx Bus ĊĊĠĠĠ Ġprivate Ġval Ġm Disposable Ġ= ĠComposite Disposable () ĊĠĠĠ Ġprivate Ġvar Ġm ProgressBar : ĠProgress Bar ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġinput Name : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput Head q : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput I co : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput Dic : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput I cd : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput D kp : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput Shop : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput Or sr : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput Pat 1 : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinput Pat 2 : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġbtn Save : ĠButton ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠAndroid Injection . inject ( this ); ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ orp set ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġm ProgressBar Ġ= ĠfindViewById < View >( R . id . progress _ bar ) Ġas ? ĠProgress Bar ĊĠĠĠĠĠĠĠ Ġinput Name Ġ= ĠfindViewById < View >( R . id . input Name ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput Head q Ġ= ĠfindViewById < View >( R . id . input Head q ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput I co Ġ= ĠfindViewById < View >( R . id . input I co ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput Dic Ġ= ĠfindViewById < View >( R . id . input Dic ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput I cd Ġ= ĠfindViewById < View >( R . id . input I cd ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput D kp Ġ= ĠfindViewById < View >( R . id . input D kp ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput Shop Ġ= ĠfindViewById < View >( R . id . input Shop ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput Or sr Ġ= ĠfindViewById < View >( R . id . input Or sr ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput Pat 1 Ġ= ĠfindViewById < View >( R . id . input Pat 1 ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġinput Pat 2 Ġ= ĠfindViewById < View >( R . id . input Pat 2 ) Ġas ? ĠEditText ĊĠĠĠĠĠĠĠ Ġbtn Save Ġ= ĠfindViewById < View >( R . id . btn Save ) Ġas ? ĠButton ĊĊĠĠĠĠĠĠĠ ĠLog . d (" Or p Requests Activity Log ", Ġ" m ViewModel Ġ" Ġ+ Ġm ViewModel . toString ()) ĊĊĠĠĠĠĠĠĠ Ġbtn Save ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ Ġ-> Ġnavigate To Save Settings () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset Disposable () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġm Disposable . clear (); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Disposable () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġshow ProgressBar () ĊĊĠĠĠĠĠĠĠ Ġm Disposable . add ( load Ek asa Settings () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( io . reactivex . schedul ers . Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do OnError Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide ProgressBar () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Or p Settings Activity Log ", Ġ" Error ĠThrowable Ġ" Ġ+ Ġthrowable . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġit Ġ-> Ġset Settings ( it ) Ġ})) ĊĊĠĠĠĠĠĠĠ Ġval Ġtap EventEmitter Ġ= Ġm Rx Bus . as Flow able (). publish () ĊĊĠĠĠĠĠĠĠ Ġm Disposable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( tap EventEmitter . subscribe Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event Ġis ĠE k assa Request Backup ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġus name x Ġ= Ġevent . request Uuid ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Or p Requests Activity Log Ġ", Ġ" bus Ġ" Ġ+ Ġus name x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// show Delete Dialog ( event . id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġm Disposable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( tap EventEmitter . publish Ġ{ Ġstream Ġ-> Ġstream . buffer ( stream . de bounce ( 1 , ĠTimeUnit . SECONDS )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()). subscribe Ġ{ Ġt aps Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/// _ show Tap Count ( t aps . size ()); ĠOK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġm Disposable . add ( tap EventEmitter . connect ()) ĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġset Settings ( sets : ĠList < Ek assa Settings >) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLog . d (" Set Ġ", Ġ" Settings ") ĊĠĠĠĠĠĠĠ ĠLog . d (" Or p Settings Activity Log ", Ġ" set 0 Ġ" Ġ+ Ġsets . get ( 0 ). id ) ĊĠĠĠĠĠĠĠ ĠLog . d (" Or p Settings Activity Log ", Ġ" set 0 Ġ" Ġ+ Ġsets . get ( 0 ). comp name ) ĊĊĠĠĠĠĠĠĠ Ġinput Name ?. setText ( sets . get ( 0 ). comp name ) ĊĠĠĠĠĠĠĠ Ġinput Head q ?. setText ( sets . get ( 0 ). head qu ar ters ) ĊĠĠĠĠĠĠĠ Ġinput I co ?. setText ( sets . get ( 0 ). comp id c . toString ()) ĊĠĠĠĠĠĠĠ Ġinput Dic ?. setText ( sets . get ( 0 ). comp dic ) ĊĠĠĠĠĠĠĠ Ġinput I cd ?. setText ( sets . get ( 0 ). comp ic d ) ĊĠĠĠĠĠĠĠ Ġinput D kp ?. setText ( sets . get ( 0 ). dk p ) ĊĠĠĠĠĠĠĠ Ġinput Shop ?. setText ( sets . get ( 0 ). shop ad ress ) ĊĠĠĠĠĠĠĠ Ġinput Or sr ?. setText ( sets . get ( 0 ). ors r ) ĊĠĠĠĠĠĠĠ Ġinput Pat 1 ?. setText ( sets . get ( 0 ). p ata 1 ) ĊĠĠĠĠĠĠĠ Ġinput Pat 2 ?. setText ( sets . get ( 0 ). p ata 2 ) ĊĠĠĠĠĠĠĠ Ġhide ProgressBar () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprotected Ġfun Ġload Ek asa Settings (): ĠFlow able < List < Ek assa Settings >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm ViewModel . load Ek asa Settings () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ ek as aset , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ) Ġ= Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠ ĠR . id . action _ request Ġ-> Ġconsume Ġ{ Ġnavigate To Or p Kt reqs () Ġ} ĊĠĠĠĠĠĠĠ ĠR . id . action _ orp docs Ġ-> Ġconsume Ġ{ Ġnavigate To Or p K td ocs () Ġ} ĊĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġnavigate To Save Settings () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// , ĠString Ġhead q , ĠString Ġd kp , ĠString Ġshop , ĠString Ġor sr , ĠString Ġp ata 1 , ĠString Ġp ata 2 ĊĊĠĠĠĠĠĠĠ Ġshow ProgressBar () ĊĠĠĠĠĠĠĠ Ġm Disposable . add ( m ViewModel . save Ek assa Settings (" 1 ", Ġinput I co ?. text . toString (), Ġinput Name ?. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġinput Dic ?. text . toString (), Ġinput I cd ?. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġinput Head q ?. text . toString (), Ġinput D kp ?. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġinput Shop ?. text . toString (), Ġinput Or sr ?. text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġinput Pat 1 ?. text . toString (), Ġinput Pat 2 ?. text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( io . reactivex . schedul ers . Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Complete ({ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Or p Requests Activity Log ", Ġ" Ġcompleted ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Saved Ġsettings Ġof Ġe Cash Box ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do OnError Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Or p Settings Activity Log ", Ġ" Error ĠThrowable Ġ" Ġ+ Ġthrowable . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġ-> ĠUnit Ġ})) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// consume Ġon create option menu ĊĠĠĠ Ġinline Ġfun Ġconsume ( f : Ġ() Ġ-> ĠUnit ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġf () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow ProgressBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ProgressBar ?. setVisibility ( View . VISIBLE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhide ProgressBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ProgressBar ?. setVisibility ( View . GONE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnavigate To Or p K td ocs () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġ` is ` Ġ= ĠIntent ( this , ĠOr p List Kt Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġextras Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġextras . put Int (" sal type ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ` is `. put Extras ( extras ) ĊĠĠĠĠĠĠĠ ĠstartActivity (` is `) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnavigate To Or p Kt reqs () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġ` is ` Ġ= ĠIntent ( this , ĠOr p Requests Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġextras Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġextras . put Int (" sal type ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ` is `. put Extras ( extras ) ĊĠĠĠĠĠĠĠ ĠstartActivity (` is `) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ Ċ } Ċ