package Ġnick . data Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġjava . util . concurrent . Count DownLatch Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ @ Throws ( InterruptedException :: class ) Ċ fun Ġ< T > ĠgetValue ( live Data : ĠLive Data < T >): ĠT Ġ{ ĊĠĠĠ Ġval Ġdata Ġ= ĠarrayOf Null s < Any >( 1 ) ĊĠĠĠ Ġval Ġl atch Ġ= ĠCount DownLatch ( 1 ) ĊĠĠĠ Ġlive Data . observe Fore ver Ġ{ Ġo Ġ-> ĊĠĠĠĠĠĠĠ Ġdata [ 0 ] Ġ= Ġo ĊĠĠĠĠĠĠĠ Ġl atch . count Down () ĊĠĠĠ Ġ} ĊĠĠĠ Ġl atch . await ( 2 , ĠTimeUnit . SECONDS ) ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġreturn Ġdata [ 0 ] Ġas ĠT Ċ }