/** Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠSK ĠTele com ĠCo ., ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . sk t . n ugu . sdk . platform . android Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . media . Audio Manager Ċ import Ġandroid . media . MediaPlayer Ċ import Ġcom . sk t . n ugu . sdk . agent .* Ċ import Ġcom . sk t . n ugu . sdk . agent . asr . AS R Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . asr . Cancel Recognize Directive Handler Ċ import Ġcom . sk t . n ugu . sdk . agent . asr . EndPoint Detector Param Ċ import Ġcom . sk t . n ugu . sdk . agent . asr . Wake up Info Ċ import Ġcom . sk t . n ugu . sdk . agent . asr . audio . Audio EndPoint Detector Ċ import Ġcom . sk t . n ugu . sdk . agent . asr . audio . Audio Format Ċ import Ġcom . sk t . n ugu . sdk . agent . asr . audio . Audio Provider Ċ import Ġcom . sk t . n ugu . sdk . agent . aud iop layer . Audio Player Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . aud iop layer . Audio Player Directive Pre Processor Ċ import Ġcom . sk t . n ugu . sdk . agent . aud iop layer . lyr ics . Audio Player L yr ics Directive Handler Ċ import Ġcom . sk t . n ugu . sdk . agent . aud iop layer . metadata . Audio Player Metadata Directive Handler Ċ import Ġcom . sk t . n ugu . sdk . agent . battery . Battery Status Provider Ċ import Ġcom . sk t . n ugu . sdk . agent . battery . Default Battery Agent Ċ import Ġcom . sk t . n ugu . sdk . agent . bluetooth . Bluetooth Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . bluetooth . Bluetooth Provider Ċ import Ġcom . sk t . n ugu . sdk . agent . ch ips . Chips Agent Ċ import Ġcom . sk t . n ugu . sdk . agent . ch ips . Chips Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . common . tts . TT SS c enario Player Ċ import Ġcom . sk t . n ugu . sdk . agent . deleg ation . Deleg ation Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . deleg ation . Deleg ation Client Ċ import Ġcom . sk t . n ugu . sdk . agent . dialog . Dialog UX State Aggregator Ċ import Ġcom . sk t . n ugu . sdk . agent . dialog . Dialog UX State Aggregator Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . display .* Ċ import Ġcom . sk t . n ugu . sdk . agent . ext . message . Message Agent Ċ import Ġcom . sk t . n ugu . sdk . agent . ext . message . Message Client Ċ import Ġcom . sk t . n ugu . sdk . agent . extension . Extension Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . location . Location Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . medi ap layer . MediaPlayer Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . medi ap layer . Player Factory Ċ import Ġcom . sk t . n ugu . sdk . agent . medi ap layer . Uri Source Play able Player Ċ import Ġcom . sk t . n ugu . sdk . agent . micro phone . Micro phone Ċ import Ġcom . sk t . n ugu . sdk . agent . playback . Playback Router Ċ import Ġcom . sk t . n ugu . sdk . agent . routine . Routine Agent Ċ import Ġcom . sk t . n ugu . sdk . agent . screen . Screen Ċ import Ġcom . sk t . n ugu . sdk . agent . sds . Shared DataStream Ċ import Ġcom . sk t . n ugu . sdk . agent . session . Session Agent Ċ import Ġcom . sk t . n ugu . sdk . agent . sound . Be ep Directive Delegate Ċ import Ġcom . sk t . n ugu . sdk . agent . sound . Sound Provider Ċ import Ġcom . sk t . n ugu . sdk . agent . speaker . Speaker Ċ import Ġcom . sk t . n ugu . sdk . agent . speaker . Speaker Factory Ċ import Ġcom . sk t . n ugu . sdk . agent . speaker . Speaker Manager Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . speaker . Speaker Manager Observer Ċ import Ġcom . sk t . n ugu . sdk . agent . system . Exception Directive Delegate Ċ import Ġcom . sk t . n ugu . sdk . agent . system . System Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . text . Text Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . tts . TT S Agent Interface Ċ import Ġcom . sk t . n ugu . sdk . agent . tts . handler . Stop Directive Handler Ċ import Ġcom . sk t . n ugu . sdk . agent . utility . Utility Agent Ċ import Ġcom . sk t . n ugu . sdk . client . Client Helper Interface Ċ import Ġcom . sk t . n ugu . sdk . client . N ugu Client Ċ import Ġcom . sk t . n ugu . sdk . client . N ugu Client Interface Ċ import Ġcom . sk t . n ugu . sdk . client . Sdk Container Ċ import Ġcom . sk t . n ugu . sdk . client . agent . factory . Agent Factory Ċ import Ġcom . sk t . n ugu . sdk . client . channel . Default Focus Channel Ċ import Ġcom . sk t . n ugu . sdk . client . port . transport . Default Transport Factory Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . auth . Auth Delegate Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . capability . Capability Agent Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . common . Namespace And Name Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . connection . ConnectionManager Interface Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . connection . Connection Status Listener Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . context . Context State Provider Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . context . Context Type Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . context . Os Context Provider Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . directive . Directive Group Processor Interface Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . directive . Directive Handler Result Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . directive . Directive Se qu encer Interface Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . log . Log Interface Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . message . Header Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . message . Message Sender Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . preferences . Preferences Interface Ċ import Ġcom . sk t . n ugu . sdk . core . interfaces . transport . Transport Factory Ċ import Ġcom . sk t . n ugu . sdk . core . utils . Logger Ċ import Ġcom . sk t . n ugu . sdk . external . j ade mar ble . Spe ex Encoder Ċ import Ġcom . sk t . n ugu . sdk . external . silver tray . N ugu Op us Player Ċ import Ġcom . sk t . n ugu . sdk . platform . android . N ugu Android Client . Builder Ċ import Ġcom . sk t . n ugu . sdk . platform . android . battery . Android Battery Status Provider Ċ import Ġcom . sk t . n ugu . sdk . platform . android . be ep . As r Be ep Player Ċ import Ġcom . sk t . n ugu . sdk . platform . android . be ep . As r Be ep Resource Provider Ċ import Ġcom . sk t . n ugu . sdk . platform . android . content . Android Preferences Ċ import Ġcom . sk t . n ugu . sdk . platform . android . focus . Android Audio Focus Interactor Ċ import Ġcom . sk t . n ugu . sdk . platform . android . focus . Audio Focus Interactor Ċ import Ġcom . sk t . n ugu . sdk . platform . android . focus . Audio Focus Interactor Factory Ċ import Ġcom . sk t . n ugu . sdk . platform . android . log . Android Logger Ċ import Ġcom . sk t . n ugu . sdk . platform . android . medi ap layer . Android MediaPlayer Ċ import Ġcom . sk t . n ugu . sdk . platform . android . medi ap layer . Integr ated MediaPlayer Ċ import Ġcom . sk t . n ugu . sdk . platform . android . speaker . Android Audio Speaker Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof Ġ[ Client Helper Interface ] Ġfor ĠAndroid Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġis Ġa Ġbasic Ġclient Ġto Ġinteract Ġwith ĠNU GU Ġat ĠAndroid . Ċ Ġ* Ċ Ġ* Ġ[ android . app . Application ]' s ĠonCreate Ġis Ġa Ġgood Ġplace Ġto Ġinitialize . Ċ Ġ* Ċ Ġ* ĠIt Ġrequire Ġmany Ġcomponents Ġto Ġinitialize . Ġso , Ġwe Ġprovide Ġa Ġ[ Builder ] Ġto Ġcreate Ġand Ġthe Ġmost Ġof Ġcomponents Ġset Ġto Ġdefault . Ċ Ġ* Ċ Ġ*/ Ċ class ĠN ugu Android Client Ġprivate Ġconstructor ( ĊĠĠĠ Ġbuilder : ĠBuilder Ċ ) Ġ: ĠClient Helper Interface ĊĠĠĠ Ġ, ĠN ugu Client Interface Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" AN ugu Client " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġbuilder Ġfor Ġ[ N ugu Android Client ] ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġthe Ġandroid Ġcontext Ġ( recommend Ġto Ġuse Ġapplication 's Ġcontext ) ĊĠĠĠĠ Ġ* Ġ@ param Ġauth Delegate Ġthe Ġdelegate Ġimplementation Ġfor Ġauthorization ĊĠĠĠĠ Ġ* Ġ@ param Ġdefault Audio Provider Ġthe Ġdefault Ġaudio Ġprovider Ġwhich Ġused Ġas Ġdefault Ġand Ġto Ġanswer ( Expect Speech ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠBuilder ( ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġauth Delegate : ĠAuth Delegate , ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġdefault Audio Provider : ĠAudio Provider ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġplayer Factory : ĠPlayer Factory Ġ= Ġobject Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate S peak Player (): ĠMedia Player Interface Ġ= ĠIntegr ated MediaPlayer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid MediaPlayer ( context , ĠMedia Player ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ugu Op us Player ( Audio Manager . STREAM _ M US IC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Audio Player (): ĠMedia Player Interface Ġ= ĠIntegr ated MediaPlayer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid MediaPlayer ( context , ĠMedia Player ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ugu Op us Player ( Audio Manager . STREAM _ M US IC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Alerts Player (): ĠMedia Player Interface Ġ= ĠIntegr ated MediaPlayer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid MediaPlayer ( context , ĠMedia Player ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ugu Op us Player ( Audio Manager . STREAM _ M US IC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Be ep Player (): ĠUri Source Play able Player Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid MediaPlayer ( context , ĠMedia Player ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġspeaker Factory : ĠS peaker Factory Ġ= Ġobject Ġ: ĠS peaker Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate N ugu Speaker (): ĠS peaker ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAndroid Audio Speaker ( context , ĠAudio Manager . STREAM _ M US IC ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Speaker Type () Ġ= ĠS peaker . Type . NU GU ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Alarm Speaker (): ĠS peaker ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAndroid Audio Speaker ( context , ĠAudio Manager . STREAM _ ALARM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Speaker Type () Ġ= ĠS peaker . Type . ALARM ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Call Speaker (): ĠS peaker ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate External Speaker (): ĠS peaker ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Speaker ( type : ĠS peaker . Type ): ĠS peaker ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS peaker . Type . NU GU Ġ-> Ġobject Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Audio Speaker ( context , ĠAudio Manager . STREAM _ M US IC ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Speaker Type () Ġ= Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS peaker . Type . ALARM Ġ-> Ġobject Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Audio Speaker ( context , ĠAudio Manager . STREAM _ ALARM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Speaker Type () Ġ= Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġdefault E pd Timeout Millis : ĠLong Ġ= Ġ 1 0 0 0 0 L ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtransport Factory : ĠTransport Factory Ġ= ĠDefault Transport Factory () ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġend Point Detector : ĠAudio EndPoint Detector ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġbattery Status Provider : ĠB attery Status Provider ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Battery Status Provider ( context ) ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġdefault Micro phone : ĠMicro phone ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġdeleg ation Client : ĠDeleg ation Client ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġextension Client : ĠExtension Agent Interface . Client ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġscreen : ĠScreen ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġaudio Focus Interactor Factory : ĠAudio Focus Interactor Factory ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Audio Focus Interactor . Factory ( context . getSystem Service ( Context . AUDIO _ SERVICE ) Ġas ĠAudio Manager ) ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġbluetooth Provider : ĠBluetooth Provider ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġdialog UX State Transition Delay : ĠLong Ġ= Ġ 2 0 0 L ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġenable Display Life Cycle Management Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġdefault Display Duration Ġ= Ġ 7 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtext Source Handler : ĠText Agent Interface . Text Source Handler ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtext Redirect Handler : ĠText Agent Interface . Text Redirect Handler ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġenable Display : ĠBoolean Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġenable Location : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġsound Provider : ĠSound Provider ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġbe ep Directive Delegate : ĠBe ep Directive Delegate ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġmessage Client : ĠMessage Client ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġenable Chips : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġenable Audio Player : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġcancel Policy On Stop TT S : ĠDirective Handler Result . Cancel Policy Ġ= ĠDirective Handler Result . POLICY _ CANCEL _ NONE ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġsystem Exception Directive Delegate : ĠException Directive Delegate ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġas r Be ep Resource Provider : ĠAs r Be ep Resource Provider ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġagent Factory Map Ġ= ĠHashMap < String , ĠAgent Factory <* >>() ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġclient Version : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . package Manager . get Package Info ( it . packageName , Ġ 0 ). version Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠPackage Manager . Name NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠLog ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġlogger : ĠLog Interface ? Ġ= ĠAndroid Logger () ĊĠĠĠĠĠĠĠ Ġ// ĠPreferences ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġpreferences : ĠPreferences Interface ? Ġ= ĠAndroid Preferences ( context ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġfactory Ġthe Ġplayer Ġfactory Ġto Ġcreate Ġplayers Ġused Ġat ĠNU GU ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġplayer Factory ( factory : ĠPlayer Factory ) Ġ= Ġapply Ġ{ Ġplayer Factory Ġ= Ġfactory Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġfactory Ġthe Ġspeaker Ġfactory Ġto Ġcreate Ġspeak ers Ġcontrolled Ġby ĠNU GU ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġspeaker Factory ( factory : ĠS peaker Factory ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġspeaker Factory Ġ= Ġfactory Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġe pd Timeout Millis Ġthe Ġdefault Ġtimeout Ġof ĠE PD ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdefault E pd Timeout Millis ( ep d Timeout Millis : ĠLong ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġdefault E pd Timeout Millis Ġ= Ġe pd Timeout Millis Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġend Point Detector Ġthe Ġend Ġpoint Ġdetector Ġused Ġto Ġspeech Ġrecogn izing Ġat ĠNU GU ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġend Point Detector ( end Point Detector : ĠAudio EndPoint Detector ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . end Point Detector Ġ= Ġend Point Detector Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġbattery Status Provider Ġthe Ġb atter Ġstatus Ġprovider ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbattery Status Provider ( battery Status Provider : ĠB attery Status Provider ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . battery Status Provider Ġ= Ġbattery Status Provider Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmicro phone Ġthe Ġdefault Ġmicro phone Ġwhich Ġcontrolled Ġby ĠNU GU ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdefault Micro phone ( micro phone : ĠMicro phone ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġdefault Micro phone Ġ= Ġmicro phone Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġclient Ġthe Ġclient Ġwhich Ġdelegate Ġdirective Ġof ĠDelegate ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdeleg ation Client ( client : ĠDeleg ation Client ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġdeleg ation Client Ġ= Ġclient Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġclient Ġthe Ġclient Ġwhich Ġdo Ġdirective Ġof ĠExtension ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġextension Client ( client : ĠExtension Agent Interface . Client ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġextension Client Ġ= Ġclient Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġscreen Ġthe Ġscreen Ġto Ġbe Ġcontrolled Ġby ĠNU GU ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġscreen ( screen : ĠScreen ?) Ġ= Ġapply Ġ{ Ġthis . screen Ġ= Ġscreen Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġfactory Ġthe Ġtransport Ġfactory Ġfor Ġnetwork ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġtransport Factory ( factory : ĠTransport Factory ) Ġ= Ġapply Ġ{ Ġtransport Factory Ġ= Ġfactory Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġfactory Ġthe Ġaudio Ġfocus Ġinter actor Ġfactory ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĊĠĠĠĠĠĠĠ Ġfun Ġaudio Focus Interactor Factory ( factory : ĠAudio Focus Interactor Factory ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġaudio Focus Interactor Factory Ġ= Ġfactory Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġbluetooth Provider Ġthe Ġbluetooth Ġto Ġbe Ġcontrolled Ġby ĠNU GU ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbluetooth Provider ( bluetooth Provider : ĠBluetooth Provider ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . bluetooth Provider Ġ= Ġbluetooth Provider Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġdelay Ġ( milliseconds ) Ġthe Ġtransition Ġdelay Ġfor Ġidle Ġstate Ġof ĠDialog UX State ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdialog UX State Transition Delay ( delay : ĠLong ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . dialog UX State Transition Delay Ġ= Ġdelay Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġenable Ġthe Ġflag Ġto Ġenable Ġor Ġdisable Ġmanaging Ġlifecycle Ġfor Ġdisplay . ĊĠĠĠĠĠĠĠĠ Ġ* ĠIf Ġwant Ġto Ġmanage Ġthe Ġdisplay 's Ġlifecycle Ġyourself , Ġdisable Ġ( set Ġto Ġfalse ). ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġenable Display Life Cycle Management ( enable : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . enable Display Life Cycle Management Ġ= Ġenable Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġduration Ġthe Ġdefault Ġduration Ġfor Ġdisplay Ġthat Ġis Ġshowing Ġafter Ġa Ġscenario Ġfinish . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdefault Display Duration ( duration : ĠLong ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . default Display Duration Ġ= Ġduration Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġhandler Ġthe Ġhandler Ġfor Ġtext Ġsource Ġdirective . ĠIf Ġnot Ġprovided , Ġdefault Ġbehavior Ġat ĠText Agent . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġtext Source Handler ( handler : ĠText Agent Interface . Text Source Handler ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . text Source Handler Ġ= Ġhandler Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġhandler Ġthe Ġhandler Ġfor Ġtext Ġredirect Ġdirective . ĠIf Ġnot Ġprovided , Ġdefault Ġbehavior Ġat ĠText Agent . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġtext Redirect Handler ( handler : ĠText Agent Interface . Text Redirect Handler ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . text Redirect Handler Ġ= Ġhandler Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġenable Ġthe Ġflag Ġto Ġenable Ġor Ġdisable Ġdisplay . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġenable Display ( enable : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . enable Display Ġ= Ġenable Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġenable Ġthe Ġflag Ġto Ġenable Ġor Ġdisable Ġlocation . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġenable Location ( enable : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . enable Location Ġ= Ġenable Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġprovider Ġthe Ġprovider Ġfor Ġcontent ĠURIs Ġfor Ġsounds . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġsound Provider ( provider : ĠSound Provider ?) Ġ= Ġapply Ġ{ Ġthis . sound Provider Ġ= Ġprovider Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġdelegate Ġthe Ġdelegate Ġwhich Ġhandle ĠSound . Be ep Ġdirective . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbe ep Directive Delegate ( delegate : ĠBe ep Directive Delegate ?) Ġ= Ġapply Ġ{ Ġthis . be ep Directive Delegate Ġ= Ġdelegate Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġprovider Ġthe Ġbe ep Ġresource Ġprovider ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġas r Be ep Resource Provider ( provider : ĠAs r Be ep Resource Provider ?) Ġ= Ġapply Ġ{ Ġthis . asr Be ep Resource Provider Ġ= Ġprovider Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġdelegate Ġthe Ġdelegate Ġwhich Ġhandle ĠSystem . Exception Ġdirective . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġsystem Exception Directive Delegate ( delegate : ĠException Directive Delegate ?) Ġ= Ġapply Ġ{ Ġthis . system Exception Directive Delegate Ġ= Ġdelegate Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġclient Ġthe Ġprovider Ġfor ĠMessage Agent ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġmessage Client ( client : ĠMessage Client ?) Ġ= Ġapply Ġ{ Ġthis . message Client Ġ= Ġclient Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġenable Ġthe Ġflag Ġto Ġenable Ġor Ġdisable Ġch ips . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġenable Chips ( enable : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . enable Chips Ġ= Ġenable Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġenable Ġthe Ġflag Ġto Ġenable Ġor Ġdisable ĠAudio Player . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġenable Audio Player ( enable : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . enable Audio Player Ġ= Ġenable Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġpolicy Ġthe Ġcancel Ġpolicy Ġon Ġstop Ġt ts ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġcancel Policy On Stop TT S ( policy : ĠDirective Handler Result . Cancel Policy ) Ġ= Ġapply Ġ{ Ġthis . cancel Policy On Stop TT S Ġ= Ġpolicy Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġadd Agent Factory ( namespace : ĠString , Ġfactory : ĠAgent Factory <* >) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġagent Factory Map [ namespace ] Ġ= Ġfactory Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġclient Version ( client Version : ĠString ) Ġ= Ġapply Ġ{ Ġthis . client Version Ġ= Ġclient Version Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlogger ( logger : ĠLog Interface ) Ġ= Ġapply Ġ{ Ġthis . logger Ġ= Ġlogger Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġpref ( preferences : ĠPreferences Interface ) Ġ= Ġapply Ġ{ Ġthis . preferences Ġ= Ġpreferences Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠN ugu Android Client Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠN ugu Android Client ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdialog UX State Aggregator : ĠDialog UX State Aggregator ĊĊĠĠĠ Ġprivate Ġval Ġplayback Router : ĠPlay back Router Ġ= ĊĠĠĠĠĠĠĠ Ġcom . sk t . n ugu . sdk . agent . playback . impl . Playback Router () ĊĊĠĠĠ Ġprivate Ġval Ġclient : ĠN ugu Client Ġ= ĠN ugu Client . Builder ( ĊĠĠĠĠĠĠĠ Ġbuilder . auth Delegate ĊĠĠĠ Ġ). logger ( builder . logger ) ĊĠĠĠĠĠĠĠ Ġ. system Exception Directive Delegate ( builder . system Exception Directive Delegate ) ĊĠĠĠĠĠĠĠ Ġ. preferences ( builder . preferences ) ĊĠĠĠĠĠĠĠ Ġ. transport Factory ( builder . transport Factory ) ĊĠĠĠĠĠĠĠ Ġ. sdk Version ( Build Config . VERSION _ NAME ) ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . agent Factory Map . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( it . key , Ġit . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( Session Agent . NAMESPACE , Ġobject Ġ: ĠAgent Factory < Session Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠSession Agent Ġ= ĠSession Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Directive Se qu encer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getSession Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( Default AS R Agent . NAMESPACE , Ġobject Ġ: ĠAgent Factory < Default AS R Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault AS R Agent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault AS R Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Input Manager Processor (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Audio Se am less Focus Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Session Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Dialog Attribute Storage (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . default Audio Provider , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSpe ex Encoder (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . end Point Detector , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . default E pd Timeout Millis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . USER _ DIALOG _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . INTERNAL _ DIALOG _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . INTER ACTION _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Play Synchron izer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Interaction Control Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCancel Recognize Directive Handler ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Speaker Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Speaker Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Speaker Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Speaker Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . speaker Factory . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS peaker . Type . values (). forEach Ġ{ Ġtype Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . create Speaker ( type )?. let Ġ{ Ġspeaker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Speaker ( speaker ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( builder . enable Audio Player ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Audio Player Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Audio Player Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Audio Player Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Audio Player Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . player Factory . create Audio Player (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Audio Se am less Focus Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayback Router , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Play Synchron izer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Group Processor (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . CONTENT _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . enable Display Life Cycle Management ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaudio Player Metadata Directive Handler Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAudio Player Metadata Directive Handler () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAudio Player L yr ics Directive Handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Inter Layer Display Policy Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( builder . enable Display ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAudio Player Template Handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Play Synchron izer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Session Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Inter Layer Display Policy Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Display Play Stack Manager (). add Play Context Provider ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Display ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Group Processor (). add Directive Group Pre processor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAudio Player Directive Pre Processor () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaudio Player Metadata Directive Handler . addListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Audio Play Stack Manager (). add Play Context Provider ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd AS R Result Listener ( object : ĠAS R Agent Interface . On Result Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon None Result ( header : ĠHeader ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfail Ġbe ep ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Partial Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader : ĠHeader ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġno - op ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader : ĠHeader ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsuccess ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype : ĠAS R Agent Interface . ErrorType , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader : ĠHeader ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcause : ĠAS R Agent Interface . Cancel Cause , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader : ĠHeader ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( Default TT S Agent . NAMESPACE , Ġobject Ġ: ĠAgent Factory < Default TT S Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault TT S Agent Ġ= Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault TT S Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . player Factory . create S peak Player (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Audio Se am less Focus Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Play Synchron izer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Inter Layer Display Policy Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . cancel Policy On Stop TT S , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . DIALOG _ CHANNEL _ NAME ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Audio Play Stack Manager (). add Play Context Provider ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStop Directive Handler ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . battery Status Provider ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Battery Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Battery Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Battery Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Battery Agent ( it , Ġcontainer . getContext Manager ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . default Micro phone ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Micro phone Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Micro phone Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Micro phone Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Micro phone Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . screen ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Screen Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Screen Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Screen Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Screen Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . deleg ation Client ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Deleg ation Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Deleg ation Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Deleg ation Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Deleg ation Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . extension Client ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Extension Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Extension Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Extension Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Extension Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Client ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( builder . enable Location ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Location Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Location Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Location Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Location Agent ( getContext Manager ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( Default Text Agent . NAMESPACE , Ġobject Ġ: ĠAgent Factory < Default Text Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Text Agent Ġ= Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Text Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Dialog Attribute Storage (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . text Source Handler , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . text Redirect Handler ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( builder . enable Display ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Display Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Display Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Display Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Display Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Play Synchron izer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠElement Selected EventHandler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Session Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Inter Layer Display Policy Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . enable Display Life Cycle Management , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . default Display Duration ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Display Play Stack Manager (). add Play Context Provider ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRender Directive Handler ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Focus Directive Handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace And Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Scroll Directive Handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace And Name , Ċĉĉĉĉ ĉ get Interaction Control Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClose Directive Handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUpdate Directive Handler ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . bluetooth Provider ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Bluetooth Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Bluetooth Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Bluetooth Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Bluetooth Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Audio Focus Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . CONTENT _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . sound Provider ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Sound Agent . NAMESPACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠAgent Factory < Default Sound Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠDefault Sound Agent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Sound Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . player Factory . create Be ep Player (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . SOUND _ B EE P _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Audio Focus Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . be ep Directive Delegate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Directive Se qu encer (). add Directive Handler ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . message Client ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( Message Agent . NAMESPACE , Ġobject Ġ: ĠAgent Factory < Message Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠMessage Agent Ġ= ĠMessage Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTT SS c enario Player ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Play Synchron izer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Audio Se am less Focus Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . DIALOG _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . player Factory . create S peak Player (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Audio Play Stack Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getMessage Sender (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Directive Se qu encer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Interaction Control Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( builder . enable Chips ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( Chips Agent . NAMESPACE , Ġobject : ĠAgent Factory < Chips Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠCh ips Agent Ġ= ĠCh ips Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Directive Se qu encer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getContext Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . client Version ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient Version ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Agent Factory ( Utility Agent . NAMESPACE , Ġobject : ĠAgent Factory < Utility Agent > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( container : ĠS dk Container ): ĠUtility Agent Ġ= ĠUtility Agent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . getContext Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . get Directive Se qu encer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġoverride Ġval Ġaudio Player Agent : ĠDefault Audio Player Agent ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Audio Player Agent . NAMESPACE ) Ġas ĠDefault Audio Player Agent ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġt ts Agent : ĠT TS Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default TT S Agent . NAMESPACE ) Ġas ĠT TS Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġdisplay Agent : ĠDisplay Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Display Agent . NAMESPACE ) Ġas ĠDisplay Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġextension Agent : ĠExtension Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Extension Agent . NAMESPACE ) Ġas ĠExtension Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġas r Agent : ĠAS R Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default AS R Agent . NAMESPACE ) Ġas ĠAS R Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġtext Agent : ĠText Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Text Agent . NAMESPACE ) Ġas ĠText Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġlocation Agent : ĠLocation Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Location Agent . NAMESPACE ) Ġas ĠLocation Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġdeleg ation Agent : ĠDeleg ation Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Deleg ation Agent . NAMESPACE ) Ġas ĠDeleg ation Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġsystem Agent : ĠSystem Agent Interface Ġ= Ġclient . system Agent ĊĠĠĠ Ġoverride Ġval Ġnetwork Manager : ĠConnection Manager Interface Ġ= Ġclient . network Manager ĊĠĠĠ Ġoverride Ġval Ġbluetooth Agent : ĠBluetooth Agent Interface ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Bluetooth Agent . NAMESPACE ) Ġas ĠBluetooth Agent Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġch ips Agent : ĠCh ips Agent Interface ? Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . get Agent ( Chips Agent . NAMESPACE ) Ġas ĠCh ips Agent Interface ĊĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdisplay Aggregator : ĠDisplay Aggregator ? ĊĊĠĠĠ Ġprivate Ġval Ġaudio Focus Interactor : ĠAudio Focus Interactor ? ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġaudio Focus Interactor Ġ= Ġbuilder . audio Focus Interactor Factory ?. create ( client . audio Focus Manager ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtemp Display Agent Ġ= Ġdisplay Agent ĊĠĠĠĠĠĠĠ Ġval Ġtemp Audio Player Agent Ġ= Ġaudio Player Agent ĊĠĠĠĠĠĠĠ Ġdisplay Aggregator Ġ= Ġif Ġ( temp Display Agent Ġ!= Ġnull Ġ&& Ġtemp Audio Player Agent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDisplay Aggregator ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Display Agent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Audio Player Agent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). get Directive Group Processor (). add Post Processed Listener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog UX State Aggregator Ġ= ĠDialog UX State Aggregator ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . dialog UX State Transition Delay , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). getSession Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). get Audio Se am less Focus Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Agent ĊĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). get Interaction Control Manager (). addListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġt ts Agent ?. addListener ( dialog UX State Aggregator ) ĊĠĠĠĠĠĠĠ Ġas r Agent ?. add On State ChangeListener ( dialog UX State Aggregator ) ĊĠĠĠĠĠĠĠ Ġch ips Agent ?. addListener ( dialog UX State Aggregator ) ĊĊĠĠĠĠĠĠĠ Ġas r Agent ?. let Ġ{ Ġas r Agent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . asr Be ep Resource Provider ?. let Ġ{ Ġprovider Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAs r Be ep Player ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . audio Focus Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Focus Channel . AS R _ B EE P _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas r Agent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovider , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . player Factory . create Be ep Player () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġget Agent ( Routine Agent . NAMESPACE )?. let Ġ{ routine Agent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (( routine Agent Ġis ĠRout ine Agent ) Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Agent ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroutine Agent . text Agent Ġ= Ġtext Agent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Agent ?. addListener ( routine Agent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Os Context Provider () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Os Context Provider () Ġ{ ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠOs Context Provider () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetType (): ĠType Ġ= ĠType . ANDROID ĊĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . setState Provider ( namespace And Name , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprovide State ( client . get Sdk Container (). getContext Manager (), Ġnamespace And Name , ĠContext Type . FULL , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprovide State ( client . get Sdk Container (). getContext Manager (), Ġnamespace And Name , ĠContext Type . COMP ACT , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconnect () Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . connect () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisconnect () Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . disconnect () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Connection Listener ( listener : ĠConnection Status Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . add Connection Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Connection Listener ( listener : ĠConnection Status Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . remove Connection Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Speaker Manager (): ĠS peaker Manager Interface ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Agent ( Default Speaker Agent . NAMESPACE ) Ġas ĠS peaker Manager Interface ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Speaker Listener ( listener : ĠS peaker Manager Observer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Speaker Manager ()?. add Speaker Manager Observer ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Speaker Listener ( listener : ĠS peaker Manager Observer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Speaker Manager ()?. remove Speaker Manager Observer ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Playback Router (): ĠPlay back Router Ġ= Ġplayback Router ĊĊĠĠĠ Ġoverride Ġfun Ġadd Audio Player Listener ( listener : ĠAudio Player Agent Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaudio Player Agent ?. addListener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Audio Player Listener ( listener : ĠAudio Player Agent Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaudio Player Agent ?. remove Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Dialog UX State Listener ( listener : ĠDialog UX State Aggregator Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog UX State Aggregator . addListener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Dialog UX State Listener ( listener : ĠDialog UX State Aggregator Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog UX State Aggregator . remove Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd AS R Listener ( listener : ĠAS R Agent Interface . On State ChangeListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġas r Agent ?. add On State ChangeListener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove AS R Listener ( listener : ĠAS R Agent Interface . On State ChangeListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġas r Agent ?. remove On State ChangeListener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Recognition ( ĊĠĠĠĠĠĠĠ Ġaudio InputStream : ĠShared DataStream ?, ĊĠĠĠĠĠĠĠ Ġaudio Format : ĠAudio Format ?, ĊĠĠĠĠĠĠĠ Ġwake up Info : ĠW ake up Info ?, ĊĠĠĠĠĠĠĠ Ġparam : ĠEnd Point Detector Param ?, ĊĠĠĠĠĠĠĠ Ġcallback : ĠAS R Agent Interface . Start Recognition Callback ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . d ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ start Recognition ] Ġwake up Info : Ġ$ wake up Info " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġas r Agent ?. start Recognition ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaudio InputStream , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaudio Format , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwake up Info , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop Recognition () Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . d ( TAG , Ġ"[ stop Recognition ]") ĊĠĠĠĠĠĠĠ Ġas r Agent ?. stop Recognition () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd AS R Result Listener ( listener : ĠAS R Agent Interface . On Result Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġas r Agent ?. add On Result Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove AS R Result Listener ( listener : ĠAS R Agent Interface . On Result Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġas r Agent ?. remove On Result Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrequest TextInput ( ĊĠĠĠĠĠĠĠ Ġtext : ĠString , ĊĠĠĠĠĠĠĠ Ġplay Service Id : ĠString ?, ĊĠĠĠĠĠĠĠ Ġtoken : ĠString ?, ĊĠĠĠĠĠĠĠ Ġref errer Dialog RequestId : ĠString ?, ĊĠĠĠĠĠĠĠ Ġinclude Dialog Attribute : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġlistener : ĠText Agent Interface . RequestListener ? ĊĠĠĠ Ġ): ĠString ? Ġ= Ġtext Agent ?. request TextInput ( text , Ġplay Service Id , Ġtoken , Ġref errer Dialog RequestId , Ġinclude Dialog Attribute , Ġlistener ) ĊĊĠĠĠ Ġoverride Ġfun Ġrequest TT S ( ĊĠĠĠĠĠĠĠ Ġtext : ĠString , ĊĠĠĠĠĠĠĠ Ġplay Service Id : ĠString ?, ĊĠĠĠĠĠĠĠ Ġlistener : ĠT TS Agent Interface . On Playback Listener ? ĊĠĠĠ Ġ): ĠString ? Ġ= Ġt ts Agent ?. request TT S ( text , Ġplay Service Id , Ġlistener ) ĊĊĠĠĠ Ġoverride Ġfun Ġlocal Stop TT S () Ġ{ ĊĠĠĠĠĠĠĠ Ġt ts Agent ?. stop TT S ( false ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcancel TT S And Others () Ġ{ ĊĠĠĠĠĠĠĠ Ġt ts Agent ?. stop TT S ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Display (): ĠDisplay Aggregator Interface ? Ġ= Ġdisplay Aggregator ĊĊĠĠĠ Ġoverride Ġfun Ġset Display Renderer ( renderer : ĠDisplay Aggregator Interface . Renderer ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdisplay Aggregator ?. set Renderer ( renderer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshutdown () Ġ{ ĊĠĠĠĠĠĠĠ Ġt ts Agent ?. stop TT S ( true ) ĊĠĠĠĠĠĠĠ Ġaudio Player Agent ?. shutdown () ĊĠĠĠĠĠĠĠ Ġclient . shutdown () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetState Provider ( ĊĠĠĠĠĠĠĠ Ġnamespace And Name : ĠNamespace And Name , ĊĠĠĠĠĠĠĠ Ġstate Provider : ĠContext State Provider ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . setState Provider ( namespace And Name , Ġstate Provider ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd System Agent Listener ( listener : ĠSystem Agent Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . add System Agent Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove System Agent Listener ( listener : ĠSystem Agent Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . remove System Agent Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Receive Directives Listener ( listener : ĠDirective Group Processor Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). get Directive Group Processor (). add Pre Processed Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Receive Directives Listener ( listener : ĠDirective Group Processor Interface . Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). get Directive Group Processor (). remove Pre Processed Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd On SendMessage Listener ( listener : ĠMessage Sender . On SendMessage Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). getMessage Sender (). add On SendMessage Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove On SendMessage Listener ( listener : ĠMessage Sender . On SendMessage Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). getMessage Sender (). remove On SendMessage Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd On Directive Handling Listener ( listener : ĠDirective Se qu encer Interface . On Directive Handling Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). get Directive Se qu encer (). add On Directive Handling Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove On Directive Handling Listener ( listener : ĠDirective Se qu encer Interface . On Directive Handling Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . get Sdk Container (). get Directive Se qu encer (). remove On Directive Handling Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Agent ( namespace : ĠString ): ĠCap ability Agent ? Ġ= Ġclient . get Agent ( namespace ) Ċ } Ċ