package Ġb . en . evidence Ċ Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . app widget . App Widget Manager Ċ import Ġandroid . app widget . App Widget Provider Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . widget . Remote Views Ċ import Ġandroid . widget . Toast Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof ĠApp ĠWidget Ġfunctionality . Ċ Ġ*/ Ċ class ĠRecord Evidence Dual Widget Ġ: ĠApp Widget Provider () Ġ{ ĊĠĠĠ Ġval Ġla : ĠString Ġ= Ġ" evidence _ start recording _ widget left " ĊĠĠĠ Ġval Ġra : ĠString Ġ= Ġ" evidence _ start recording _ widget right " ĊĠĠĠ Ġoverride Ġfun ĠonUpdate ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġapp Widget Manager : ĠApp Widget Manager , ĊĠĠĠĠĠĠĠ Ġapp Widget Ids : ĠInt Array ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThere Ġmay Ġbe Ġmultiple Ġwidgets Ġactive , Ġso Ġupdate Ġall Ġof Ġthem ĊĠĠĠĠĠĠĠ Ġfor Ġ( app Widget Id Ġin Ġapp Widget Ids ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate App Widget ( context , Ġapp Widget Manager , Ġapp Widget Id , Ġla , Ġra ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enabled ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠEnter Ġrelevant Ġfunctionality Ġfor Ġwhen Ġthe Ġfirst Ġwidget Ġis Ġcreated ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Disabled ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠEnter Ġrelevant Ġfunctionality Ġfor Ġwhen Ġthe Ġlast Ġwidget Ġis Ġdisabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext , Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( la Ġ== Ġintent ?. action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Record ĠAudio ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp W id Id Ġ= Ġintent . getInt Extra (" app Widget Id ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate App Widget ( context , ĠApp Widget Manager . getInstance ( context ), Ġapp W id Id , Ġla , Ġra ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ra Ġ== Ġintent ?. action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Record Ġvideo ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp W id Id Ġ= Ġintent . getInt Extra (" app Widget Id ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate App Widget ( context , ĠApp Widget Manager . getInstance ( context ), Ġapp W id Id , Ġla , Ġra ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Receive ( context , Ġintent ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġupdate App Widget ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġapp Widget Manager : ĠApp Widget Manager , ĊĠĠĠ Ġapp Widget Id : ĠInt , ĊĠĠĠ Ġla : ĠString , ĊĠĠĠ Ġra : ĠString Ċ ) Ġ{ ĊĠĠĠ Ġ// ĠConstruct Ġthe ĠRemote Views Ġobject ĊĠĠĠ Ġval Ġviews Ġ= ĠRemote Views ( context . packageName , ĠR . layout . record _ evidence _ dual _ widget ) ĊĠĠĠ Ġviews . set ImageView Resource ( R . id . dual Widget Left , ĠR . drawable . icon _ micro phone ) ĊĠĠĠ Ġviews . set ImageView Resource ( R . id . dual Widget Right , R . drawable . icon _ camera ) ĊĊĠĠĠ Ġ// ĠInt ents ĊĠĠĠ Ġval Ġli Ġ= ĠIntent ( context , ĠRecord Evidence Dual Widget :: class . java ) ĊĠĠĠ Ġli . action Ġ= Ġla ĊĠĠĠ Ġli . putExtra (" app Widget Id ", Ġapp Widget Id ) ĊĠĠĠ Ġval Ġl pi Ġ= ĠPending Intent . get Broadcast ( context , 0 , Ġli , Ġ 0 ) ĊĠĠĠ Ġval Ġri Ġ= ĠIntent ( context , ĠRecord Evidence Dual Widget :: class . java ) ĊĠĠĠ Ġri . action Ġ= Ġra ĊĠĠĠ Ġri . putExtra (" app Widget Id ", Ġapp Widget Id ) ĊĠĠĠ Ġval Ġr pi Ġ= ĠPending Intent . get Broadcast ( context , Ġ 0 , Ġri , Ġ 0 ) ĊĊĠĠĠ Ġviews . setOn Click Pending Intent ( R . id . dual Widget Left , Ġl pi ) ĊĠĠĠ Ġviews . setOn Click Pending Intent ( R . id . dual Widget Right , r pi ) ĊĊĠĠĠ Ġ// ĠIn struct Ġthe Ġwidget Ġmanager Ġto Ġupdate Ġthe Ġwidget ĊĠĠĠ Ġapp Widget Manager . update App Widget ( app Widget Id , Ġviews ) Ċ }