/* Ċ Ġ* Ġ***************************************************************** ******************************** Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCopyright Ġ 2 0 1 8 ĠUnivers um ĠSt ud ios Ċ Ġ* Ġ***************************************************************** ******************************** Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License ") Ċ Ġ* Ġ------------------------------------------------------------------------------------------------ - Ċ Ġ* ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe Ċ Ġ* ĠLicense Ġat Ċ Ġ* ĠĊ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ċ Ġ* Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ċ Ġ* Ġor Ġimplied . Ċ Ġ* ĠĊ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ġ***************************************************************** ******************************** Ċ Ġ*/ Ċ package Ġun ivers um . mind . syn ergy . observation . med itation . control Ċ Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġun ivers um . mind . syn ergy . device . head set . Head set Ċ import Ġun ivers um . mind . syn ergy . device . head set . data . Head setData Observable Ċ import Ġun ivers um . mind . syn ergy . observation . control . Base Observation Controller Ċ import Ġun ivers um . mind . syn ergy . observation . med itation . view . presentation . M edit ation Observation Presenter Ċ import Ġun ivers um . stud ios . android . ark h ite k ton . interaction . Interactor Ċ Ċ /** Ċ Ġ* Ġ@ author ĠMartin ĠAl bed in sky Ċ Ġ*/ Ċ class ĠDefault M edit ation Observation Controller Ġinternal Ġconstructor ( builder : ĠBuilder ) ĊĠĠĠ Ġ: ĠBase Observation Controller < Interactor , ĠM edit ation Observation Presenter >( builder ), ĠM edit ation Observation Controller Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġobservation Disposable : ĠDis posable ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Observation Start ( head set : ĠHead set ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Observation Start ( head set ) ĊĠĠĠĠĠĠĠ Ġthis . observation Disposable Ġ= ĠHead setData Observable . med itation ( head set ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( presentation Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( interaction Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( get Presenter () :: on Observation Data Changed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Observation Stop ( head set : ĠHead set ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Observation Stop ( head set ) ĊĠĠĠĠĠĠĠ Ġthis . observation Disposable ?. dispose () ĊĠĠĠĠĠĠĠ Ġthis . observation Disposable Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠBuilder ( ĊĠĠĠĠĠĠĠ Ġinter actor : ĠInter actor , ĊĠĠĠĠĠĠĠ Ġpresenter : ĠM edit ation Observation Presenter ĊĠĠĠ Ġ) Ġ: ĠBase Observation Controller . Base Builder < Builder , ĠInter actor , ĠM edit ation Observation Presenter >( inter actor , Ġpresenter ) Ġ{ ĊĠĠĠĠĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġself Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĠDefault M edit ation Observation Controller ( this ) ĊĠĠĠ Ġ} Ċ }