package Ġcom . a qr le i . open . ret rofit . li ved at ac all adapter Ċ Ċ import Ġretrofit 2 . Call Adapter Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġjava . lang . reflect . Parameterized Type Ċ import Ġjava . lang . reflect . Type Ċ Ċ /** Ċ Ġ* Ġ@ author Ġa qr le i Ġon Ġ 2 0 1 8 / 1 2 / 2 0 Ċ Ġ*/ Ċ class ĠLive Data Call Adapter Factory Ġ: ĠCall Adapter . Factory () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġcreate () Ġ= ĠLive Data Call Adapter Factory () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ( returnType : ĠType , Ġannotations : ĠArray < Annotation >, Ġretrofit : ĠRet rofit ): ĠCall Adapter < *, Ġ* >? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( getRaw Type ( returnType ) Ġ!= ĠLive Observable :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Response Ġmust Ġbe Ġparame tri zed Ġas ĠLive Observable < Live Response >") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( returnType Ġ! is ĠParameter ized Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Response Ġmust Ġbe Ġparame tri zed Ġas ĠLive Observable < Live Response >") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠLive Data Call Adapter < Parameterized Type >( getParameter Upper Bound ( 0 , ĠreturnType )) ĊĠĠĠ Ġ} Ċ }