package Ġcz . pal da 9 7 . lp client . view model Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . lifecycle . ViewModel Store Owner Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcz . pal da 9 7 . lp client . model . services . Execution Monitor Periodic Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ Ċ /** Ċ Ġ* ĠViewModel Ġfor Ġautomatic Ġexecution Ġrefresh . Ċ Ġ*/ Ċ class ĠMainActivity ViewModel ( application : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġautomatic Refresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġautomatic Refresh () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( AUT OM AT IC _ REFRESH _ RATE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExecution Monitor Periodic . enqueue One Shot ( getApplication ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠGets Ġan Ġinstance Ġof Ġ[ MainActivity ViewModel ] Ġtied Ġto Ġthe Ġowner 's Ġlifecycle . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( owner : ĠViewModel Store Owner ) Ġ= ĠViewModel Provider ( owner ). get ( MainActivity ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠA UT OM AT IC _ REFRESH _ RATE Ġ= Ġ 5 0 0 0 L ĊĠĠĠ Ġ} Ċ }