package Ġtech . block man ic . flutter _ t emi Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroidx . annotation . NonNull Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġio . flutter . plugin . common . MethodCall Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġio . flutter . plugin . common . Method Channel . MethodCall Handler Ċ import Ġio . flutter . plugin . common . Method Channel . Result Ċ import Ġio . flutter . plugin . common . Plugin Registry . Registrar Ċ import Ġio . flutter . embedding . engine . plugins . Flutter Plugin Ċ import Ġio . flutter . embedding . engine . plugins . activity . Activity Aware Ċ import Ġio . flutter . embedding . engine . plugins . activity . Activity Plugin Binding Ċ import Ġcom . robot emi . sdk .* Ċ import Ġio . flutter . plugin . common . Event Channel Ċ import Ġcom . robot emi . sdk . T ts Request ĊĊ Ċ class ĠFlutter T emi Plugin Ġ: Ġ ĠMethod Call Handler , ĠFlutter Plugin , ĠActivity Aware Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġchannel : ĠMethod Channel ĊĠĠĠ Ġpublic Ġlateinit Ġvar Ġapplication _ context : ĠContext ĊĠĠĠ Ġpublic Ġlateinit Ġvar Ġactivity : ĠActivity ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġon Robot Lift ed Event Channel : ĠEvent Channel ĊĊĠĠĠ Ġprivate Ġval Ġrobot : ĠRobot Ġ= ĠRobot . getInstance () ĊĠĠĠ Ġprivate Ġval Ġgo To Location Status Changed Impl : ĠGo To Location Status Changed Impl Ġ= ĠGo To Location Status Changed Impl () ĊĠĠĠ Ġprivate Ġval Ġon Be With Me Status Changed Impl : ĠOn Be With Me Status Changed Impl Ġ= ĠOn Be With Me Status Changed Impl () ĊĠĠĠ Ġprivate Ġval Ġon Locations Updated Impl : ĠOn Locations Updated Impl Ġ= ĠOn Locations Updated Impl () ĊĠĠĠ Ġprivate Ġval Ġn lp Impl : ĠN lp Impl Ġ= ĠN lp Impl () ĊĠĠĠ Ġprivate Ġval Ġon User Interaction Changed Impl : ĠOn User Interaction Changed Impl Ġ= ĠOn User Interaction Changed Impl () ĊĠĠĠ Ġprivate Ġval Ġt ts Listener Impl : ĠT ts Listener Impl Ġ= ĠT ts Listener Impl () ĊĠĠĠ Ġprivate Ġval Ġas r Listener Impl : ĠAS R Listener Impl Ġ= ĠAS R Listener Impl () ĊĊĠĠĠ Ġprivate Ġval Ġwake up Word Listener Impl : ĠW ake up Word Listener Impl Ġ= ĠW ake up Word Listener Impl () ĊĠĠĠ Ġprivate Ġval Ġon Constraint Be With Status Listener Impl : ĠOn Constraint Be With Status Listener Impl Ġ= ĠOn Constraint Be With Status Listener Impl () ĊĠĠĠ Ġ// private Ġval Ġon Tele presence Status Changed Listener Impl Ġ: ĠOn Tele presence Status Changed Listener Impl Ġ= ĠOn Tele presence Status Changed Listener Impl () ĊĠĠĠ Ġ// private Ġval Ġon Users Updated Listener Impl Ġ: ĠOn Users Updated Listener Impl Ġ= ĠOn Users Updated Listener Impl () ĊĠĠĠ Ġprivate Ġval Ġon Privacy Mode Changed Listener Impl : ĠOn Privacy Mode Changed Listener Impl Ġ= ĠOn Privacy Mode Changed Listener Impl () ĊĠĠĠ Ġprivate Ġval Ġon Battery Status Changed Listener Impl : ĠOn Battery Status Changed Listener Impl Ġ= ĠOn Battery Status Changed Listener Impl () ĊĠĠĠ Ġprivate Ġval Ġon Detection StateChanged Listener Impl : ĠOn Detection StateChanged Listener Impl Ġ= ĠOn Detection StateChanged Listener Impl () ĊĠĠĠ Ġprivate Ġval Ġon Robot Ready Listener Impl : ĠOn Robot Ready Listener Impl Ġ= ĠOn Robot Ready Listener Impl () ĊĊĠĠĠ Ġprivate Ġval Ġon Robot Lift ed Listener Impl : ĠOn Robot Lift ed Listener Impl Ġ= ĠOn Robot Lift ed Listener Impl () ĊĊĠĠĠ Ġ// Flutter Ġplugin ĊĠĠ Ġoverride Ġfun Ġon Attached To Engine (@ NonNull Ġflutter Plugin Binding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠ Ġchannel Ġ= ĠMethod Channel ( flutter Plugin Binding . get Flutter Engine (). get Dart Executor (), Ġ" flutter _ t emi ") ĊĠĠĠĠĠĠ Ġchannel . set MethodCall Handler ( this ); ĊĠĠĠĠĠĠ Ġapplication _ context Ġ= Ġflutter Plugin Binding . application Context ĊĊĠĠĠĠĠĠĠ Ġon Robot Lift ed Event Channel Ġ= ĠEvent Channel ( flutter Plugin Binding . get Flutter Engine (). get Dart Executor (), Ġ" flutter _ t emi / on _ robot _ lift ed _ stream ") ĊĠĠĠĠĠĠĠ Ġon Robot Lift ed Event Channel . set Stream Handler ( on Robot Lift ed Listener Impl ) ĊĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġfun Ġon Detached From Engine (@ NonNull Ġbinding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠ Ġchannel . set MethodCall Handler ( null ) ĊĠĠ Ġ} ĊĊĠĠ Ġ// Activity Aware ĊĠĠ Ġoverride Ġfun Ġon Detached From Activity () Ġ{ ĊĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġfun Ġon Re attached To Activity For Config Changes ( binding : ĠActivity Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġfun Ġon Attached To Activity ( binding : ĠActivity Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠ Ġactivity Ġ= Ġbinding . activity ; ĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġfun Ġon Detached From Activity For Config Changes () Ġ{ ĊĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġregister With ( regist rar : ĠRegist rar ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠMethod Channel ( regist rar . messenger (), Ġ" flutter _ t emi ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplugin Ġ= ĠFlutter T emi Plugin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . set MethodCall Handler ( plugin ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// added ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . application _ context = regist rar . activity (). getApplication () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . activity Ġ= Ġregist rar . activity () ĊĊĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Be With Me Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Be With Me Status Changed Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Be With Me Event Channel . set Stream Handler ( plugin . on Be With Me Status Changed Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Location Status ChangeEvent Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠGo To Location Status Changed Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Location Status ChangeEvent Channel . set Stream Handler ( plugin . goTo Location Status Changed Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Locations Updated Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Locations Updated Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Locations Updated Event Channel . set Stream Handler ( plugin . on Locations Updated Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon N lp Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠN lp Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon N lp Event Channel . set Stream Handler ( plugin . nlp Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt ts Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠT ts Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ts Listener Event Channel . set Stream Handler ( plugin . tts Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġas r Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠAS R Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġas r Listener Event Channel . set Stream Handler ( plugin . asr Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwake up Word Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠW ake up Word Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwake up Word Listener Event Channel . set Stream Handler ( plugin . wake up Word Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Constraint Be With Status Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Constraint Be With Status Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Constraint Be With Status Listener Event Channel . set Stream Handler ( plugin . on Constraint Be With Status Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// val Ġon Tele presence Status Changed Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Tele presence Status Changed Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// on Tele presence Status Changed Listener Event Channel . set Stream Handler ( plugin . on Tele presence Status Changed Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// val Ġon Users Updated Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Users Updated Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// on Users Updated Listener Event Channel . set Stream Handler ( plugin . on Users Updated Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Privacy Mode Changed Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Privacy Mode Changed Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Privacy Mode Changed Listener Event Channel . set Stream Handler ( plugin . on Privacy Mode Changed Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Battery Status Changed Listener Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Battery Status Changed Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Battery Status Changed Listener Event Channel . set Stream Handler ( plugin . on Battery Status Changed Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Detection StateChanged Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Detection StateChanged Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Detection StateChanged Event Channel . set Stream Handler ( plugin . on Detection StateChanged Listener Impl ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Robot Ready Event Channel Ġ= ĠEvent Channel ( regist rar . messenger (), ĠOn Robot Ready Listener Impl . STREAM _ CHANNEL _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Robot Ready Event Channel . set Stream Handler ( plugin . on Robot Ready Listener Impl ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrobot . add On Go To Location Status Changed Listener ( this . goTo Location Status Changed Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On Be With Me Status Changed Listener ( this . on Be With Me Status Changed Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On Locations Updated Listener ( this . on Locations Updated Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add N lp Listener ( this . nlp Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On User Interaction Changed Listener ( this . on User Interaction Changed Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add T ts Listener ( this . tts Listener Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add As r Listener ( this . asr Listener Impl ) Ġ// asr ĊĠĠĠĠĠĠĠ Ġrobot . add Wake up Word Listener ( this . wake up Word Listener Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On Constraint Be With Status Changed Listener ( this . on Constraint Be With Status Listener Impl ) ĊĠĠĠĠĠĠĠ Ġ// robot . add On Tele presence Status Changed Listener ( this . on Tele presence Status Changed Listener Impl ) ĊĠĠĠĠĠĠĠ Ġ// robot . add On Users Updated Listener ( this . on Users Updated Listener Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On Privacy Mode StateChanged Listener ( this . on Privacy Mode Changed Listener Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On Battery Status Changed Listener ( this . on Battery Status Changed Listener Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On Detection StateChanged Listener ( this . on Detection StateChanged Listener Impl ) ĊĠĠĠĠĠĠĠ Ġrobot . add On Robot Ready Listener ( this . on Robot Ready Listener Impl ) ĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon MethodCall ( call : ĠMethod Call , Ġresult : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( call . method ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ serial _ number " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( robot . serial Number ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ privacy _ mode " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( robot . privacy Mode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ set _ privacy _ mode " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprivacy Mode Ġ= Ġcall . arguments < Boolean >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . privacy Mode Ġ= Ġprivacy Mode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( privacy Mode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ battery _ data " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( On Battery Status Changed Listener Impl . battery ToMap ( robot . battery Data !! )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ set _ hard _ buttons _ disabled " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisabled Ġ= Ġcall . arguments < Boolean >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . is Hard Buttons Disabled Ġ= Ġdisabled ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( disabled ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ is _ hard _ buttons _ disabled " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( robot . is Hard Buttons Disabled ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ show _ top _ bar " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . show Top Bar () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ hide _ top _ bar " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . hide Top Bar () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ speak " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspeech Ġ= Ġcall . arguments < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠT ts Request . create ( speech , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . speak ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ speak _ force " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspeech Ġ= Ġcall . arguments < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠT ts Request . create ( speech , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . speak ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ fin is he _ conversation " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . finish Conversation () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ goto " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= Ġcall . arguments < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . goTo ( location ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ save _ location " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= Ġcall . arguments < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( robot . save Location ( location )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ get _ locations " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( robot . locations ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ delete _ location " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= Ġcall . arguments < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( robot . delete Location ( location )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ be _ with _ me " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . be With Me () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ constraint _ be _ with " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . constraint Be With () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ follow _ me " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . be With Me () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ stop _ movement " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . stop Movement () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ sk id _ joy " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġcall . arguments < List < Double >>() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . sk id Jo y ( values [ 0 ]. toFloat (), Ġvalues [ 1 ]. toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ tilt _ angle " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt ilt Angle Ġ= Ġcall . arguments < Int >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . tilt Angle ( tilt Angle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ turn _ by " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġturn By Angle Ġ= Ġcall . arguments < Int >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . turn By ( turn By Angle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ tilt _ by " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdegrees Ġ= Ġcall . arguments < Int >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . tilt By ( degrees ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ start _ tele presence " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarguments Ġ= Ġcall . arguments < List < String >>() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( robot . start Tele presence ( arguments [ 0 ], Ġarguments [ 1 ])) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ user _ info " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠuserInfo Ġ= Ġrobot . admin Info !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( On Users Updated Listener Impl . contact ToMap ( userInfo )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ get _ contacts " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontacts Ġ= Ġrobot . all Contact ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmaps Ġ= Ġcontacts . map Ġ{ Ġcontact Ġ-> ĠOn Users Updated Listener Impl . contact ToMap ( contact ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( maps ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ get _ recent _ calls " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecent Calls Ġ= Ġrobot . recent Calls ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecent Call Maps Ġ= Ġrecent Calls . map Ġ{ Ġcall Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcall Map Ġ= ĠHashMap < String , ĠAny ? >( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Map [" call Type "] Ġ= Ġcall . call Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Map [" sessionId "] Ġ= Ġcall . sessionId ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Map [" timestamp "] Ġ= Ġcall . timestamp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Map [" userId "] Ġ= Ġcall . userId ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Map ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( recent Call Maps ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ wake up " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . wake up () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ show App List " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . show App List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ toggle _ wake up " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisable Ġ= Ġcall . arguments < Boolean >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . toggle Wake up ( disable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ toggle _ navigation _ bill board " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhide Ġ= Ġcall . arguments < Boolean >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . toggle Navigation Bill board ( hide ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t emi _ turn Ko isk Mode " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactivity Info Ġ= Ġapplication _ context . get PackageManager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getActivity Info ( activity . getComponent Name (), ĠPackage Manager . GET _ META _ DATA ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrobot . onStart ( activity Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . not Implemented () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ