package Ġorg . dv b viewer . controller . data . version Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġkotlinx . coroutines . Coroutine Start Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . async Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . dv b viewer . controller . data . D ms ViewModel Ċ import Ġorg . dv b viewer . controller . data . api . ApiResponse Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġr ba un Ġon Ġ 0 2 . 0 4 . 1 8 . Ċ Ġ*/ Ċ Ċ class ĠVersion ViewModel Ġinternal Ġconstructor ( application : ĠApplication , Ġprivate Ġval Ġv Repo : ĠVersion Repository ) Ġ: ĠD ms ViewModel ( application ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdata : ĠMutable LiveData < ApiResponse < Boolean >> ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġis Supported ( min Version : ĠString ): ĠMutable LiveData < ApiResponse < Boolean >> Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠMutable LiveData () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfetch Supported ( min Version ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdata Ġas ĠMutable LiveData < ApiResponse < Boolean >> ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfetch Supported ( min Version : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( Dispatch ers . Main , ĠCor outine Start . DEFAULT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġapi Response Ġ= ĠApiResponse . error ( null , Ġfalse ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġasync ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Response Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse . success ( v Repo . is Supported ( min Version )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG Ġ, Ġ" Error Ġgetting Ġversion ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse . error ( e , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. await () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. value Ġ= Ġapi Response ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠVersion ViewModel :: class . java . name ĊĊĠĠĠ Ġ} Ċ Ċ }