package Ġcom . the apache 6 4 . stack zy . ui . feature . path way Ċ Ċ import Ġcom . github . the apache 6 4 . g pa . model . Account Ċ import Ġcom . the apache 6 4 . stack zy . data . repo . Auth Repo Ċ import Ġkotlinx . coroutines . flow . Mutable State Flow Ċ import Ġkotlinx . coroutines . flow . State Flow Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠPath way ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġauth Repo : ĠAuth Repo Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ logged In Account Ġ= ĠMutable State Flow < Account ? >( null ) ĊĠĠĠ Ġval Ġlogged In Account : ĠState Flow < Account ?> Ġ= Ġ_ logged In Account ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġon Play Store Selected : Ġ( Account ) Ġ-> ĠUnit ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġon Log In Needed : Ġ() Ġ-> ĠUnit ĊĊĠĠĠ Ġfun Ġinit ( ĊĠĠĠĠĠĠĠ Ġon Play Store Selected : Ġ( Account ) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġon Log In Needed : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . on Play Store Selected Ġ= Ġon Play Store Selected ĊĠĠĠĠĠĠĠ Ġthis . on Log In Needed Ġ= Ġon Log In Needed ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrefresh Account () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ logged In Account . value Ġ= Ġauth Repo . get Account () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Play Store Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġif Ġuser Ġis Ġlogged Ġin ĊĠĠĠĠĠĠĠ Ġif Ġ( logged In Account . value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġnot Ġlogged Ġin ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Log In Needed . invoke () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġlogged Ġin ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Play Store Selected . invoke ( logged In Account . value !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Logout Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġauth Repo . logout () ĊĠĠĠĠĠĠĠ Ġ_ logged In Account . value Ġ= Ġnull ĊĠĠĠ Ġ} Ċ Ċ }