package Ġcom . star base . bank wallet . modules . main Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġio . horizontal systems . bank wallet . core . I Account Manager Ċ import Ġio . horizontal systems . bank wallet . core . I Backup Manager Ċ import Ġio . horizontal systems . bank wallet . core . IR ate App Manager Ċ import Ġio . horizontal systems . bank wallet . core . IT er ms Manager Ċ import Ġio . horizontal systems . bank wallet . core . managers . Rate Us Type Ċ import Ġio . horizontal systems . bank wallet . core . managers . Release Notes Manager Ċ import Ġio . horizontal systems . core . IP in Component Ċ import Ġio . horizontal systems . core . Single Live Event Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠMain ViewModel ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpin Component : ĠIP in Component , ĊĠĠĠĠĠĠĠ Ġrate App Manager : ĠI Rate App Manager , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbackup Manager : ĠI Backup Manager , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġterms Manager : ĠI Terms Manager , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġaccount Manager : ĠI Account Manager , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrelease Notes Manager : ĠRelease Notes Manager , ĊĠĠĠĠĠĠĠ Ġservice : ĠMain Service Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġshow Root ed Device Warning Live Event Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġshow Rate App Live Event Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġshow Wh ats New Live Event Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġopen Play Market Live Event Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġhide Content LiveData Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġset Badge Visible LiveData Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġtransaction Tab Enabled LiveData Ġ= ĠMutable LiveData < Boolean >() ĊĊĠĠĠ Ġprivate Ġval Ġdis pos ables Ġ= ĠComposite Disposable () ĊĠĠĠ Ġprivate Ġvar Ġcontent Hidden Ġ= Ġpin Component . is Locked ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! service . ignore Root Check Ġ&& Ġservice . is Device Root ed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Root ed Device Warning Live Event . call () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate Badge Visibility () ĊĠĠĠĠĠĠĠ Ġupdate Transactions Tab Enabled () ĊĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( backup Manager . all Back ed Up Flow able . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Badge Visibility () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( terms Manager . terms Accepted Signal . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Badge Visibility () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( pin Component . pin Set Flow able . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Badge Visibility () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( account Manager . accounts Flow able . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Transactions Tab Enabled () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġrate App Manager . show Rate App Observable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Rate App ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdis pos ables . add ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshow Wh ats New () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġdis pos ables . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( content Hidden Ġ!= Ġpin Component . is Locked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Content LiveData . post Value ( pin Component . is Locked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcontent Hidden Ġ= Ġpin Component . is Locked ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Transactions Tab Enabled () Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction Tab Enabled LiveData . post Value (! account Manager . is Accounts Empty ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Wh ats New () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( Dispatch ers . IO ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( release Notes Manager . should Show Change Log ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Wh ats New Live Event . post Value ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Rate App ( show Rate Us : ĠRate Us Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( show Rate Us ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRate Us Type . Open Play Market Ġ-> Ġopen Play Market Live Event . post Value ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRate Us Type . ShowDialog Ġ-> Ġshow Rate App Live Event . post Value ( Unit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Badge Visibility () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvisible Ġ= Ġ!( backup Manager . all Back ed Up Ġ&& Ġterms Manager . terms Accepted Ġ&& Ġpin Component . is Pin Set ) ĊĠĠĠĠĠĠĠ Ġset Badge Visible LiveData . post Value ( visible ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ