package Ġnet . db jor ge . cal or is aur Ċ Ċ 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 Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof ĠApp ĠWidget Ġfunctionality . Ċ Ġ*/ Ċ class ĠCal or ie Display Widget Ġ: ĠApp Widget Provider () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonUpdate ( context : ĠContext , Ġapp Widget Manager : ĠApp Widget Manager , Ġapp Widget Ids : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpersistent State Ġ= ĠPersistent State ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġcal or ie Count Text Ġ= Ġpersistent State . cal ories . toString () ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( app Widget Id Ġin Ġapp Widget Ids ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġviews Ġ= ĠRemote Views ( context . packageName , ĠR . layout . cal or ie _ display _ widget ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUpdate Ġthe Ġtext Ġto Ġthe Ġcurrent Ġcal or ie Ġcount ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviews . setText View Text ( R . id . cal or ie Display Button , Ġcal or ie Count Text ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġwidget Ġto Ġlaunch Ġthe Ġmain Ġactivity Ġon Ġpress ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlaunch Activity Pending Intent Ġ= ĠIntent ( context , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġintent Ġ-> ĠPending Intent . getActivity ( context , Ġ 0 , Ġintent , Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviews . apply Ġ{ Ġset OnClick Pending Intent ( R . id . cal or ie Display Button , Ġlaunch Activity Pending Intent ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Widget Manager . update App Widget ( app Widget Id , Ġviews ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ