package Ġcom . github . ash ut osh g ng wr . no ice . cast Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . media . Volume Provider Compat Ċ import Ġcom . github . ash ut osh g ng wr . no ice . playback . strategy . Playback Strategy Factory Ċ Ċ /** Ċ Ġ* Ġ[ Cast API Wrapper ] Ġwraps Ġall ĠAPI Ġcalls Ġto ĠG MS ĠAPI Ġand Ġhide s ĠAPI Ġspecific Ġclasses Ġfrom Ġthe Ġcaller . Ċ Ġ* ĠThe Ġactual Ġimplementation Ġis Ġpresent Ġin Ġthe Ġ' play store ' Ġsource Ġset Ġwhile Ġthis Ġdummy Ċ Ġ* Ġimplementation Ġallows ĠF - Droid Ġflavor Ġto Ġbe Ġbuilt Ġwithout Ġrequiring ĠG MS ĠCast Ġframework Ċ Ġ* Ġas Ġa Ġdependency . Ċ Ġ*/ Ċ @ Suppress (" UNUSED _ PARAMETER ") Ċ class ĠCast API Wrapper Ġprivate Ġconstructor ( context : ĠContext , Ġregister Session Callbacks : ĠBoolean ) Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ// Ġthere Ġis Ġno Ġway Ġto Ġmock Ġconstructor Ġin Ġtests Ġso Ġmock ing ĠComp anion Ġobject Ġinstead ĊĠĠĠ Ġfun Ġfrom ( context : ĠContext , Ġregister Session Callbacks : ĠBoolean ): ĠCast API Wrapper Ġ{ ĊĠĠĠĠĠ Ġreturn ĠCast API Wrapper ( context , Ġregister Session Callbacks ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun ĠsetUp MenuItem ( menu : ĠMenu , Ġ@ String Res Ġtitle Res Id : ĠInt ): ĠMenuItem ? Ġ= Ġnull ĊĊĠ Ġfun Ġnew Cast Playback Strategy Factory (): ĠPlay back Strategy Factory Ġ{ ĊĠĠĠ Ġthrow ĠIllegalStateException (" F - Droid Ġbuild Ġshouldn 't Ġattempt Ġto Ġcreate ĠCast Playback Strategy Factory ") ĊĠ Ġ} ĊĊĠ Ġfun Ġnew Cast Volume Provider (): ĠVolume Provider Compat Ġ{ ĊĠĠĠ Ġthrow ĠIllegalStateException (" F - Droid Ġbuild Ġshouldn 't Ġattempt Ġto Ġcreate ĠCast Volume Provider ") ĊĠ Ġ} ĊĊĠ Ġfun Ġon Session Begin ( callback : Ġ() Ġ-> ĠUnit ) Ġ= ĠUnit ĊĊĠ Ġfun Ġon Session End ( callback : Ġ() Ġ-> ĠUnit ) Ġ= ĠUnit ĊĊĠ Ġfun Ġclear Session Callbacks () Ġ= ĠUnit Ċ } Ċ