package Ġru . bre ffi . story id sample . ui . it n Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . lifecycle .* Ċ import Ġkotlinx . coroutines . launch Ċ import Ġru . bre ffi . story id . profile . model . Profile Model Ċ import Ġru . bre ffi . story id sample . repository . Profile Repository Ċ import Ġru . bre ffi . story id sample . repository . work . Profile Sync Worker Ċ import Ġru . bre ffi . story id sample . ui . common . LiveData Wrapper Ċ import Ġjava . io . File Ċ import Ġjavax . inject . Inject ĊĊ Ċ class ĠI tn ViewModel Ġ@ Inject Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġprofile Repository : ĠProfile Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġimage It n Ġ= ĠMutable LiveData < File ?> () ĊĊĊĠĠĠ Ġval Ġprofile Ġ= ĠLive Data Wrapper ( profile Repository . get Profile ()) ĊĊĠĠĠ Ġfun Ġsave Profile ( profile : ĠProfile Model ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( profile Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile Repository . save Profile ( profile ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProfile Sync Worker . start ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset It n Image ( file : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠ Ġimage It n . post Value ( file ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Image () Ġ{ ĊĠĠĠĠĠĠĠ Ġimage It n . post Value ( null ) ĊĠĠĠ Ġ} Ċ }