package Ġcom . d ron . app . v rt ul nice k Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Image Button Ċ import Ġcom . d ron . app . R Ċ import Ġcom . d ron . app . example . common . DJ IS ample Application Ċ import Ġcom . d ron . app . v rt ul nice k . utils . toast Ċ import Ġcom . yo av st . kotlin .` Kotlin Package $ Tasks $ 6 5 a 6 a 1 8 3 `. main Thread Ċ import Ġkotlinx . android . synt hetic . main . activity _ v rt ul nice k .* Ċ import Ġkotlinx . coroutines . experimental . Common Pool Ċ Ċ /** Ċ Ġ* ĠSingleton Ġis Ġmanaging Ġvarious Ġspecial Ġfunctions Ġin Ġsmart Ġmenu Ċ Ġ* Ġthese Ġfunctions Ġare Ċ Ġ* Ġ Ġ- ĠFollow ĠSelf ie Ċ Ġ* Ġ Ġ- ĠReset ĠG im bal Ċ Ġ* Ġ Ġ- ĠAuto Land Ċ Ġ* Ġ Ġ- ĠAuto Take Off Ċ Ġ*/ Ċ object ĠSmart Functions Mgr Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġactivity : ĠV rt ul nice k Activity ĊĠĠĠ Ġlateinit Ġvar Ġreset G im bal Button : ĠButton ĊĠĠĠ Ġlateinit Ġvar Ġauto Take off But t : ĠImage Button ĊĠĠĠ Ġlateinit Ġvar Ġauto Land But t : ĠImage Button ĊĊĠĠĠ Ġfun Ġinitialize (_ activity : ĠV rt ul nice k Activity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Ġ= Ġ_ activity ĊĊĠĠĠĠĠĠĠ Ġreset G im bal Button Ġ= Ġactivity . smart _ functions _ popup ?. findViewById ( R . id . reset _ g im bal ) Ġas ĠButton ĊĠĠĠĠĠĠĠ Ġreset G im bal Button . setOnClickListener Ġ{ Ġreset G im bal () Ġ} ĊĊĠĠĠĠĠĠĠ Ġauto Take off But t Ġ= Ġactivity . smart _ functions _ popup ?. findViewById ( R . id . auto Take off ) Ġas ĠImage Button ĊĠĠĠĠĠĠĠ Ġauto Take off But t . setOnClickListener ( Smart Functions Mgr :: auto Take Off ) ĊĊĠĠĠĠĠĠĠ Ġauto Land But t Ġ= Ġactivity . smart _ functions _ popup ?. findViewById ( R . id . auto Land ) Ġas ĠImage Button ĊĠĠĠĠĠĠĠ Ġauto Land But t . setOnClickListener ( Smart Functions Mgr :: auto Land ) ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠLand ing Ġand Ġtaking Ġoff Ġbuttons Ġare Ġsw apped Ġwhen Ġin Ġair ĊĠĠĠĠĠĠĠ ĠPosition s Mgr . add On Dr one Location ChangeListener Ġ{ Ġloc , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( loc . altitude Ġ> Ġ 0 F ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto Land But t . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto Take off But t . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto Land But t . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto Take off But t . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreset G im bal () Ġ{ ĊĠĠĠĠĠĠĠ ĠApp . get Product Instance ()?. g im bal ?. reset G im bal Ġ{ Ġerr Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Thread ( Common Pool ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( err Ġ!= Ġnull ) Ġactivity . toast ( err . description . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġauto Take Off ( v : ĠView ){ ĊĠĠĠĠĠĠĠ ĠD J IS ample Application . get A ircraft Instance ()?. flight Controller ?. take Off Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd ji Error Ġ-> Ġmain Thread ( Common Pool ){ v . toast (" Auto - take off : Ġ${ d ji Error ?. description Ġ?: Ġ" Success "} ")} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġactivity . cancel Take Off . text Ġ= Ġ" Cancel ĠAuto - take off " ĊĠĠĠĠĠĠĠ Ġactivity . cancel Take Off . br ing To Front () ĊĠĠĠĠĠĠĠ Ġactivity . cancel Take Off . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD J IS ample Application . get A ircraft Instance ()?. flight Controller ?. cancel Take Off Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ji Error Ġ-> Ġmain Thread ( Common Pool ){ v . toast (" Auto - take off Ġcancel : Ġ${ d ji Error ?. description Ġ?: Ġ" Canceled "} ")} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġauto Land ( v : ĠView ){ ĊĠĠĠĠĠĠĠ ĠD J IS ample Application . get A ircraft Instance ()?. flight Controller ?. auto Landing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd ji Error Ġ-> Ġmain Thread ( Common Pool ){ v . toast (" Auto - land : Ġ${ d ji Error ?. description Ġ?: Ġ" Success "} ")} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġactivity . cancel Take Off . text Ġ= Ġ" Cancel ĠAuto - land " ĊĠĠĠĠĠĠĠ Ġactivity . cancel Take Off . br ing To Front () ĊĠĠĠĠĠĠĠ Ġactivity . cancel Take Off . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD J IS ample Application . get A ircraft Instance ()?. flight Controller ?. cancel Auto Landing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ji Error Ġ-> Ġmain Thread ( Common Pool ){ v . toast (" Auto - land Ġcancel : Ġ${ d ji Error ?. description Ġ?: Ġ" Canceled "} ")} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }