package Ġcom . n ir aj ti w ari . compose pract ise . ui . me als Ċ Ċ import Ġandroidx . compose . runtime . Mutable State Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . n ir aj ti w ari . compose pract ise . di . D agger Dependency Component Ċ import Ġcom . n ir aj ti w ari . compose pract ise . model . Category Ċ import Ġcom . n ir aj ti w ari . compose pract ise . model . Me als Repository Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMe als Category ViewModel Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġrepository : ĠMe als Repository ĊĊĠĠĠ Ġval Ġme als State : ĠMutable State < List < Category >> Ġ= Ġmutable State Of ( emptyList < Category >()) ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ ĠD agger Dependency Component . create (). inject ( this ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġme als Ġ= Ġget Me als () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġme als State . value Ġ= Ġme als ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġget Me als (): ĠList < Category > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository ?. get Me als ()?. categories !! ĊĠĠĠ Ġ} Ċ } Ċ