package Ġnet . y uz um one . too tr us . ui Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . sys 1 y agi . mast od on 4 j . api . entity . Account Ċ import Ġdagger . Lazy Ċ import Ġnet . y uz um one . too tr us . domain . Success Ċ import Ġnet . y uz um one . too tr us . domain . mast od on . account . Get Verify Credentials UseCase Ċ import Ġnet . y uz um one . too tr us . domain . prefs . Get AccessToken Pref UseCase Ċ import Ġnet . y uz um one . too tr us . domain . prefs . Store UserId Pref UseCase Ċ import Ġnet . y uz um one . too tr us . util . map Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMain ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġstore UserId Pref UseCase : ĠStore UserId Pref UseCase , ĊĠĠĠĠĠĠĠ Ġget AccessToken UseCase : ĠGet AccessToken Pref UseCase Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠaccessToken Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġval Ġset Fragment : ĠLive Data < Set Fragment > ĊĠĠĠ Ġval Ġaccount Ġ= Ġ ĠMutable LiveData < Account >() ĊĠĠĠ Ġval Ġevent Transaction To Top Ġ= ĠMutable LiveData < Unit >() ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġget Lazy Verify Credential UseCase : ĠLazy < Get Verify Credentials UseCase > ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġget AccessToken UseCase ( Unit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSuccess Ġ-> ĠaccessToken . value Ġ= Ġit . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset Fragment Ġ= ĠaccessToken . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSet Fragment . O AUTH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSet Fragment . TOP ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Credentials () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġget Verify Credentials UseCase Ġ= Ġget Lazy Verify Credential UseCase . get () ĊĠĠĠĠĠĠĠ Ġget Verify Credentials UseCase ( Unit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSuccess Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstore UserId Pref UseCase ( it . value . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount . value Ġ= Ġit . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠSet Fragment Ġ{ ĊĠĠĠ ĠO AUTH , ĊĠĠĠ ĠTOP Ċ }