package Ġco . touch lab . d roid con . android . viewModel . sessions Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġco . touch lab . d roid con . android . service . DateTime Formatter View Service Ċ import Ġco . touch lab . d roid con . domain . composite . Schedule Item Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġkotlinx . datetime . Clock Ċ import Ġkotlinx . datetime . Instant Ċ import Ġorg . k oin . core . component . K oin Component Ċ import Ġorg . k oin . core . component . inject Ċ Ċ class ĠS essions Block ViewModel ( ĊĠĠĠ Ġstarts At : ĠInstant , ĊĠĠĠ Ġitems : ĠList < Schedule Item >, Ċ ): ĠViewModel (), ĠK oin Component Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠdateTime Formatter Ġby Ġinject < DateTime Formatter View Service >() ĊĊĠĠĠ Ġval Ġtime : ĠString Ġ= ĠdateTime Formatter . time ( starts At ) ĊĠĠĠ Ġval Ġsessions : ĠList < Session ViewModel > Ġ= Ġitems . map (:: Session ViewModel ) ĊĊĠĠĠ Ġ// TODO K PG Ġ- ĠChecking Ġstart Ġinstant Ġfor Ġhas Ended Ġis Ġweird ĊĠĠĠ Ġval Ġhas Ended : ĠFlow < Boolean > Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhas Ended Ġ= ĠClock . System . now () Ġ> Ġstarts At ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( has Ended ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 _ 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }