package Ġcom . lifecycle . binding . adapter . ret rofit Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Call Adapter Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġjava . lang . reflect . Parameterized Type Ċ import Ġjava . lang . reflect . Type Ċ import Ġjava . util . concurrent . atomic . Atomic Boolean Ċ Ċ class ĠLive Data Call Adapter Factory (): ĠCall Adapter . Factory () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget ( returnType : ĠType , Ġannotations : ĠArray < Annotation >, Ġretrofit : ĠRet rofit ): ĠCall Adapter < *, Ġ*> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLive Data Call Adapter < LiveData < *> >( getParameter Upper Bound ( 0 , ĠreturnType Ġas ĠParameter ized Type )) ĊĠĠĠ Ġ} Ċ } Ċ class ĠLive Data Call Adapter < R >( val Ġtype : ĠType ): Call Adapter < R , ĠLive Data < R >> { ĊĠĠĠ Ġoverride Ġfun Ġadapt ( call : ĠCall < R >): ĠLive Data < R > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġflag Ġ= ĠAtomic Boolean ( false ) ĊĠĠĠĠĠĠĠ Ġreturn Ġlive Data { Ġ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġresponse Type (): ĠType Ġ{ ĊĠĠĠĠĠĠ Ġreturn Ġtype ĊĠĠĠ Ġ} Ċ }