package Ġmob i . se ven wind s . common . core . ui Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Call Super Ċ import Ġcom . af ol le st ad . inline activity result . startActivity For Result Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġmob i . se ven wind s . common . core . app . Base App Ċ import Ġmob i . se ven wind s . common . core . ui . c icer one . C icer one Activity Manager Ċ import Ġmob i . se ven wind s . common . core . ui . c icer one . My Screen Ċ import Ġmob i . se ven wind s . common . core . ui . mo xy . Base View Ċ import Ġmob i . se ven wind s . common . core . ui . mo xy . M oxy Fragment Ċ import Ġmob i . se ven wind s . common . core . utils . extensions . tern ary Map Ċ Ċ abstract Ġclass ĠBase Fragment Ġ: ĠM oxy Fragment (), ĠBase View Ġ{ ĊĠĠĠ Ġprotected Ġvar Ġcomposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( composite Disposable . is Disposed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomposite Disposable Ġ= ĠComposite Disposable () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġbase Activity (): ĠBase Activity ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity Ġas ? ĠBase Activity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġadd Subscription ( dis posable : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( dis posable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . dispose () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T Ġ: ĠBase Activity > ĠstartActivity ( clazz : ĠClass < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġbase Activity ()?. let Ġ{ ĠstartActivity ( Intent ( it , Ġclazz )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġrouter () Ġ= ĠBase App . instance . get Router () ĊĊĊĠĠĠ Ġoverride Ġfun Ġrequest Permissions ( request Code : ĠInt , Ġvar arg Ġpermissions : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġrequest Permissions ( permissions , Ġrequest Code ) ĊĊĠĠĠ Ġoverride Ġfun Ġif Have All Permissions ( ĊĠĠĠĠĠĠĠ Ġif True : Ġ() Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġif False : Ġ() Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġvar arg Ġpermissions : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbase Activity ()?. have All Permissions (* permissions ). tern ary Map ( if True , Ġif False ). invoke () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġif Have Any Permissions ( ĊĠĠĠĠĠĠĠ Ġif True : Ġ() Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġif False : Ġ() Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġvar arg Ġpermissions : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbase Activity ()?. have Any Permissions (* permissions ). tern ary Map ( if True , Ġif False ). invoke () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Screen For Result ( ĊĠĠĠĠĠĠĠ Ġscreen : ĠMy Screen , ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ ĠonSuccess : Ġ( data : ĠIntent ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠC icer one Activity Manager . get Appro priate Intent ( screen , Ġcontext Ġ?: Ġreturn )?. let Ġ{ Ġintent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Intent For Result ( intent , Ġrequest Code , ĠonSuccess ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Intent For Result ( ĊĠĠĠĠĠĠĠ Ġintent : ĠIntent , ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ ĠonSuccess : Ġ( data : ĠIntent ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstart Intent For Result ( intent , Ġrequest Code , ĠonSuccess , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Intent For Result ( ĊĠĠĠĠĠĠĠ Ġintent : ĠIntent , ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ ĠonSuccess : Ġ( data : ĠIntent ?) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġon Fail : Ġ(( data : ĠIntent ?) Ġ-> ĠUnit )? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , Ġrequest Code ) Ġ{ Ġsuccess , Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> ĠonSuccess . invoke ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġon Fail ?. invoke ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" AA ", Ġ" Error ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }