// ĠCopyright Ġ( c ) ĠMicrosoft ĠCorporation . ĠAll Ġrights Ġreserved . Ċ // ĠLicensed Ġunder Ġthe ĠMIT ĠLicense . Ċ Ċ package Ġcom . azure . android . communication . ui . calling composite demo app . robots Ċ Ċ import Ġandroidx . test . espress o . Esp ress o Ċ import Ġandroidx . test . espress o . action . View Actions Ċ import Ġandroidx . test . espress o . matcher . View Matchers Ċ import Ġcom . azure . android . communication . ui . calling composite demo app . R Ċ import Ġcom . azure . android . communication . ui . calling composite demo app . util . Ui TestUtils Ċ import Ġcom . azure . android . communication . ui . calling composite demo app . util . View Is Displayed Resource Ċ import Ġorg . hamcrest . Matchers Ċ Ċ class ĠCall Screen Robot Ġ: ĠScreen Robot < Call Screen Robot >() Ġ{ ĊĊĠĠĠ Ġfun Ġcheck WaitFor Teams Meeting Message (): ĠCall Screen Robot Ġ{ ĊĠĠĠĠĠĠĠ Ġwait Until View Id Is Displayed ( R . id . azure _ communication _ ui _ call _ lob by _ overlay ) ĊĊĠĠĠĠĠĠĠ ĠUi TestUtils . click View With Id And Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . azure _ communication _ ui _ call _ lob by _ overlay _ title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Waiting Ġfor Ġhost " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck First Participant In List (): ĠCall Screen Robot Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ids Ġ= ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cell _ icon , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . azure _ communication _ ui _ participant _ list _ avatar , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cell _ text ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠUi TestUtils . check 3 I em RecyclerView Holder At Position ( R . id . bottom _ drawer _ table , Ġ 0 , Ġview Ids ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Participant List (): ĠCall Screen Robot Ġ{ ĊĠĠĠĠĠĠĠ Ġwait Until View Id Is Displayed While Checking For Dialog ( R . id . azure _ communication _ ui _ call _ floating _ header ) ĊĊĠĠĠĠĠĠĠ ĠUi TestUtils . click View With Id ( R . id . azure _ communication _ ui _ call _ bottom _ drawer _ button ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdismiss Participant List (): ĠCall Screen Robot Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot View Ġ= ĠE sp ress o . on View ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMatch ers . all Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Matchers . with Id ( android . R . id . content ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Matchers . is Displayed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġroot View . perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclick End Call (): ĠCall Screen Robot Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid ling Resource Ġ= ĠView Is Displayed Resource () ĊĠĠĠĠĠĠĠ Ġwait Until View Id Is Displayed ( R . id . azure _ communication _ ui _ call _ call _ buttons , Ġid ling Resource ) ĊĠĠĠĠĠĠĠ Ġval Ġend Call Button Ġ= Ġwait Until View Id With Content Description Is Displayed ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . azure _ communication _ ui _ call _ end _ call _ button , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Hang ĠUp " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġend Call Button . perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclick Leave Call () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid ling Resource Ġ= ĠView Is Displayed Resource () ĊĠĠĠĠĠĠĠ Ġid ling Resource . wait Until View Is Displayed Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUi TestUtils . check View With Text Is Displayed (" Leave Ġcall ?") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠUi TestUtils . click View With Id And Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cell _ text , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Leave " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify First Participant Name ( userName : ĠString ): ĠCall Screen Robot Ġ{ ĊĊĠĠĠĠĠĠĠ ĠUi TestUtils . check RecyclerView ViewHolder Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . bottom _ drawer _ table , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cell _ text , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ } Ċ