import ĠV DF . V DF Ċ import Ġapi . Application Ċ import Ġapi . Game Service Ċ import Ġjava . io . File Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . map Ċ Ċ class ĠGame Repository ( ĊĠĠĠ Ġprivate Ġval Ġgame Service : ĠGame Service Ġ= ĠGame Service () Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġfetch Owned Games (): ĠFlow < List < Application >> Ġ= Ġgame Service . get Games () ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġgames Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv df Ġ= ĠV DF ( File (" C :\\ Program ĠFiles Ġ( x 8 6 )\\ Steam \\ steam apps \\ library folders . v df ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgame Ids Ġ= Ġv df . getParent (" library folders ") ?. parents ?. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. getParent (" apps ") ?. keys ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. fold ( emptyList < String ?> ()) Ġ{ Ġlist , Ġitems Ġ-> Ġlist Ġ+ Ġitems !! Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġgames . app list . apps . filter Ġ{ Ġgame Ids ?. contains ( it . appid . toString ()) Ġ?: Ġfalse Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ }