/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 1 Ġ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 . commit 4 5 1 . gitlab . widget Ċ Ċ import Ġandroid . app widget . App Widget Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . widget . Remote Views Service Ċ import Ġcom . commit 4 5 1 . gitlab . api . M oshi Provider Ċ import Ġcom . commit 4 5 1 . gitlab . model . Account Ċ import Ġtim ber . log . Tim ber Ċ Ċ /** Ċ Ġ* ĠService Ġthat Ġbasically Ġjust Ġdef ers Ġeverything Ġto Ġa ĠFactory . ĠY ay ! Ċ Ġ*/ Ċ class ĠFeed Widget Service Ġ: ĠRemote Views Service () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ ACCOUNT _ JSON Ġ= Ġ" account _ json " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ FEED _ URL Ġ= Ġ" feed _ url " ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCurrently , Ġwhen Ġwe Ġpass Ġthis ĠIntent Ġalong Ġto Ġcertain Ġlaunch ers , Ġthey Ġwill Ġnot ĊĠĠĠĠĠĠĠĠ Ġ* Ġbe Ġable Ġto Ġun - marshall Ġthe ĠAccount Ġclass . ĠSo , Ġwe Ġwill Ġjust Ġpass Ġthe Ġaccount Ġas Ġjson ĊĠĠĠĠĠĠĠĠ Ġ* Ġ:( ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Intent ( context : ĠContext , Ġwidget Id : ĠInt , Ġaccount : ĠAccount , Ġfeed Url : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠM oshi Provider . mos hi . adapter < Account >( Account :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccount Json Ġ= Ġadapter . toJson ( account ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠFeed Widget Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( App Widget Manager . EXTRA _ APP WIDGET _ ID , Ġwidget Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( EXTRA _ ACCOUNT _ JSON , Ġaccount Json ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( EXTRA _ FEED _ URL , Ġfeed Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Get View Factory ( intent : ĠIntent ): ĠRemote Views Factory Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d (" on Get View Factory ") ĊĠĠĠĠĠĠĠ Ġval Ġaccount Json Ġ= Ġintent . getString Extra ( EXTRA _ ACCOUNT _ JSON ) !! ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠM oshi Provider . mos hi . adapter < Account >( Account :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġaccount Ġ= Ġadapter . fromJson ( account Json ) !! ĊĠĠĠĠĠĠĠ Ġval Ġfeed Url Ġ= Ġintent . getString Extra ( EXTRA _ FEED _ URL ) !! ĊĠĠĠĠĠĠĠ Ġreturn ĠFeed Remote Views Factory ( application Context , Ġaccount , Ġfeed Url ) ĊĠĠĠ Ġ} Ċ } Ċ