package Ġcom . th omas fl ad . covid 1 9 radar . android Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . th omas fl ad . covid 1 9 radar . domain . Data State Ċ import Ġcom . th omas fl ad . covid 1 9 radar . domain . use Cases . Get Ger many Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . Sharing Started . Companion . While Sub scribed Ċ import Ġkotlinx . coroutines . flow . map NotNull Ċ import Ġkotlinx . coroutines . flow . state In Ċ Ċ class ĠInputs Ġ{ Ċ } Ċ Ċ interface ĠOutputs Ġ{ ĊĠĠĠ Ġval Ġweek In cid ence : ĠFlow < Double > Ċ } Ċ Ċ interface ĠMainActivity ViewModel Type Ġ{ ĊĠĠĠ Ġval Ġinputs : ĠInputs ĊĠĠĠ Ġval Ġoutputs : ĠOutputs Ċ } Ċ Ċ class ĠMainActivity ViewModel ( ĊĠĠĠ Ġget Ger many UseCase : ĠGet Ger many Ċ ) Ġ: ĠViewModel (), ĠMainActivity ViewModel Type , ĠOutputs Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġinputs : ĠInputs Ġ= ĠInputs () ĊĠĠĠ Ġoverride Ġval Ġoutputs : ĠOutputs Ġ= Ġthis ĊĊĠĠĠ Ġprivate Ġval Ġget Ger many Ġ= Ġget Ger many UseCase . data Flow () ĊĠĠĠĠĠĠĠ Ġ. state In ( viewModel Scope , ĠWhile Sub scribed ( 5 0 0 0 ), ĠData State . initial ()) ĊĊĠĠĠ Ġoverride Ġval Ġweek In cid ence Ġ= Ġget Ger many ĊĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġit . data ?. week In cid ence Ġ} Ċ Ċ } Ċ