package Ġcom . al vin h kh . bu set a . app widget Ċ Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . app widget . App Widget Manager Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ Ċ class ĠFollow Widget Pin ned Receiver Ġ: ĠBroadcast Receiver () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠW ID GET _ WITH _ HEADER Ġ= Ġ" WIDGET _ WITH _ HEADER " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠW ID GET _ FOLLOW _ GROUP _ ID Ġ= Ġ" WIDGET _ FOLLOW _ GROUP _ ID " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠW ID GET _ ROWS Ġ= Ġ" WIDGET _ ROWS " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBRO ADCAST _ ID Ġ= Ġ 1 0 0 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Pending Intent ( context : ĠContext , Ġwidget Id : ĠInt ): ĠPending Intent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidget Preferences Ġ= ĠWidget Preferences ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwith Header Ġ= Ġwidget Preferences . get With Header ( widget Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfollow GroupId Ġ= Ġwidget Preferences . get Follow GroupId ( widget Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġno Of Rows Ġ= Ġwidget Preferences . getItem Row Num ( widget Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcallback Intent Ġ= ĠIntent ( context , ĠFollow Widget Pin ned Receiver :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Boolean ( WIDGET _ WITH _ HEADER , Ġwith Header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . putString ( WIDGET _ FOLLOW _ GROUP _ ID , Ġfollow GroupId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( WIDGET _ ROWS , Ġno Of Rows ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Intent . put Extras ( bundle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPending Intent . get Broadcast ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĠBRO ADCAST _ ID Ġ+ Ġwidget Id , Ġcallback Intent , ĠPending Intent . FLAG _ UPDATE _ CURRENT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġ== Ġnull Ġ|| Ġintent Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġwidget Id Ġ= Ġintent . getInt Extra ( App Widget Manager . EXTRA _ APP WIDGET _ ID , ĠApp Widget Manager . INVALID _ APP WIDGET _ ID ) ĊĠĠĠĠĠĠĠ Ġif Ġ( widget Id Ġ<= ĠApp Widget Manager . INVALID _ APP WIDGET _ ID ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġwith Header Ġ= Ġintent . getBoolean Extra ( WIDGET _ WITH _ HEADER , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġfollow GroupId Ġ= Ġintent . getString Extra ( WIDGET _ FOLLOW _ GROUP _ ID ) ?: "" ĊĠĠĠĠĠĠĠ Ġval Ġno Of Rows Ġ= Ġintent . getInt Extra ( WIDGET _ ROWS , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġwidget Preferences Ġ= ĠWidget Preferences ( context ) ĊĠĠĠĠĠĠĠ Ġwidget Preferences . set Widget Values ( widget Id , Ġwith Header , Ġfollow GroupId , Ġno Of Rows ) ĊĠĠĠĠĠĠĠ ĠFollow Widget Provider . update Widgets ( context ) ĊĠĠĠ Ġ} Ċ }