/* Ċ Ġ* ĠCopyright Ġ 2 0 2 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 Ġandroidx . gl ance . app widget Ċ Ċ import Ġandroidx . gl ance . text . Text Ċ import Ġandroidx . test . filters . Medium Test Ċ import Ġandroidx . test . filters . Sdk Suppress Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ Ċ @ Sdk Suppress ( min Sdk Version Ġ= Ġ 2 9 ) Ċ @ Medium Test Ċ class ĠGl ance App Widget Manager Test Ġ{ ĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġm Host Rule Ġ= ĠApp Widget Host Rule () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠReset Ġthe Ġsize Ġmode Ġto Ġthe Ġdefault ĊĠĠĠĠĠĠĠ ĠTest Gl ance App Widget . size Mode Ġ= ĠSize Mode . Single ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġno App Widget () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Host Rule . on Host Activity Ġ{ Ġactivity Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= ĠGl ance App Widget Manager ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( manager . get Gl ance Ids ( Test Gl ance App Widget :: class . java )). isEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwith App Widget () Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Gl ance App Widget . ui Definition Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Something ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Host Rule . start Host () ĊĊĠĠĠĠĠĠĠ Ġm Host Rule . on Host Activity Ġ{ Ġactivity Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= ĠGl ance App Widget Manager ( activity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgl ance Ids Ġ= Ġmanager . get Gl ance Ids ( Test Gl ance App Widget :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( gl ance Ids ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsizes Ġ= Ġmanager . getApp Widget Sizes ( gl ance Ids [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( sizes ). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Host Rule . portrait Size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Host Rule . land scape Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġclean Re ceiv ers () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Host Rule . on Host Activity Ġ{ Ġactivity Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= ĠGl ance App Widget Manager ( activity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . update Receiver ( Dummy Gl ance App Widget Receiver (), ĠTest Gl ance App Widget ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( manager . list Known Re ceiv ers ()). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDummy Gl ance App Widget Receiver :: class . java . canonical Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Gl ance App Widget Receiver :: class . java . canonical Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . clean Re ceiv ers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( manager . list Known Re ceiv ers ()). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Gl ance App Widget Receiver :: class . java . canonical Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠDummy Gl ance App Widget Receiver Ġ: ĠGl ance App Widget Receiver () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgl ance App Widget : ĠGl ance App Widget Ġ= ĠTest Gl ance App Widget Ċ }