/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . android . tools . idea . wizard . template . impl . other . app Widget . src . app _ package Ċ Ċ import Ġcom . android . tools . idea . wizard . template . render If Ċ Ċ fun Ġapp Widget Kt ( ĊĠ Ġapplication Package : ĠString ?, ĊĠ ĠclassName : ĠString , ĊĠ Ġconfigurable : ĠBoolean , ĊĠ Ġlayout Name : ĠString , ĊĠ ĠpackageName : ĠString Ċ ): ĠString Ġ{ ĊĠ Ġval Ġwidget TextBlock Ġ= Ġif Ġ( configurable ) Ġ" val Ġwidget Text Ġ= Ġload Title Pref ( context , Ġapp Widget Id )" ĊĠ Ġelse Ġ" val Ġwidget Text Ġ= Ġcontext . getString ( R . string . app widget _ text )" ĊĊĠ Ġreturn Ġ""" Ċ package Ġ${ packageName } Ċ Ċ import Ġandroid . app widget . App Widget Manager Ċ import Ġandroid . app widget . App Widget Provider Ċ import Ġandroid . content . Context Ċ import Ġandroid . widget . Remote Views Ċ ${ render If ( application Package Ġ!= Ġnull ) Ġ{ Ġ" import Ġ${ application Package }. R " Ġ}} Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof ĠApp ĠWidget Ġfunctionality . Ċ ${ render If ( configurable ) Ġ{ """ Ċ Ġ* ĠApp ĠWidget ĠConfiguration Ġimplemented Ġin Ġ[ ${ className } Configure Activity ] Ċ """ }} Ċ Ġ*/ Ċ class Ġ${ className } Ġ: ĠApp Widget Provider () Ġ{ ĊĠĠĠ Ġ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 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ ${ render If ( configurable ) Ġ{ ĊĠĠĠ Ġ""" ĊĠĠĠ Ġoverride Ġfun Ġon Deleted ( context : ĠContext , Ġapp Widget Ids : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWhen Ġthe Ġuser Ġdeletes Ġthe Ġwidget , Ġdelete Ġthe Ġpreference Ġassociated Ġwith Ġit . ĊĠĠĠĠĠĠĠ Ġfor Ġ( app Widget Id Ġin Ġapp Widget Ids ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Title Pref ( context , Ġapp Widget Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ """ ĊĠ Ġ}} ĊĠĠĠ Ġ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 ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġupdate App Widget ( context : ĠContext , Ġapp Widget Manager : ĠApp Widget Manager , Ġapp Widget Id : ĠInt ) Ġ{ ĊĠĠĠ Ġ$ widget TextBlock ĊĠĠĠ Ġ// ĠConstruct Ġthe ĠRemote Views Ġobject ĊĠĠĠ Ġval Ġviews Ġ= ĠRemote Views ( context . packageName , ĠR . layout .${ layout Name }) ĊĠĠĠ Ġviews . setText View Text ( R . id . app widget _ text , Ġwidget Text ) ĊĊĠĠĠ Ġ// ĠIn struct Ġthe Ġwidget Ġmanager Ġto Ġupdate Ġthe Ġwidget ĊĠĠĠ Ġapp Widget Manager . update App Widget ( app Widget Id , Ġviews ) Ċ } """ Ċ } Ċ