/* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠSee Ġthe ĠNOTICE Ġfile Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ċ Ġ* Ġinformation Ġregarding Ġcopyright Ġownership . Ċ Ġ* Ġ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 Ġio . app ium . espress oser ver . lib . handlers Ċ Ċ import Ġandroidx . test . espress o . Esp ress o Exception Ċ import Ġandroidx . test . espress o . View Interaction Ċ import Ġandroidx . test . espress o . assertion . Layout Assertions . no El lips ized Text Ċ import Ġandroidx . test . espress o . assertion . Layout Assertions . no Mult iline Buttons Ċ import Ġandroidx . test . espress o . assertion . Layout Assertions . no Overlap s Ċ import Ġio . app ium . espress oser ver . lib . handlers . exceptions . App ium Exception Ċ import Ġio . app ium . espress oser ver . lib . handlers . exceptions . Not Y et Implemented Exception Ċ import Ġio . app ium . espress oser ver . lib . helpers . Android Logger Ċ import Ġio . app ium . espress oser ver . lib . model . App ium Params Ċ import Ġio . app ium . espress oser ver . lib . model . Element Ċ import Ġio . app ium . espress oser ver . lib . model . View Attributes Enum Ċ import Ġio . app ium . espress oser ver . lib . model . View Element Ċ import Ġio . app ium . espress oser ver . lib . view action . View Text Getter Ċ Ċ class ĠGet Attribute Ġ: ĠRequest Handler < App ium Params , ĠString ?> Ġ{ ĊĊĠĠĠ Ġ@ Throws ( App ium Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġhandle Internal ( params : ĠApp ium Params ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġattribute Name Ġ= Ġparams . get Uri Parameter Value (" name ") ĊĠĠĠĠĠĠĠ Ġif Ġ( attribute Name Ġ== Ġnull Ġ|| Ġattribute Name . trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ}. isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠApp ium Exception (" Attribute Ġname Ġcannot Ġbe Ġnull Ġor Ġempty ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠMap Ġattribute Name Ġto ĠEN UM Ġattribute ĊĠĠĠĠĠĠĠ ĠView Attributes Enum . values (). find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Name . equals ( it . toString (), Ġignore Case Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Element Getter : Ġ() Ġ-> ĠView Element Ġ= Ġ{ ĠView Element ( Element . get ViewById ( params . element Id )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Interaction Getter : Ġ() Ġ-> ĠView Interaction Ġ= Ġ{ ĠElement . getView Interaction ById ( params . element Id ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheck To AttributeValue : Ġ(() Ġ-> ĠUnit ) Ġ-> ĠString Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" true " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġis ĠE sp ress o Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . message ?. let Ġ{ Ġmsg Ġ-> ĠAndroid Logger . logger . info ( msg ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" false " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . CONTENT _ DESC Ġ-> Ġreturn Ġview Element Getter (). content Description ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . CLASS Ġ-> Ġreturn Ġview Element Getter (). className ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . CHECK ABLE Ġ-> Ġreturn Ġview Element Getter (). is Check able . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . CHECK ED Ġ-> Ġreturn Ġview Element Getter (). isChecked . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . CLICK ABLE Ġ-> Ġreturn Ġview Element Getter (). is Clickable . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . ENABLED Ġ-> Ġreturn Ġview Element Getter (). isEnabled . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . FOCUS ABLE Ġ-> Ġreturn Ġview Element Getter (). is Focus able . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . FOC USED Ġ-> Ġreturn Ġview Element Getter (). is Focused . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . SCROLL ABLE Ġ-> Ġreturn Ġview Element Getter (). is Scroll able . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . LONG _ CLICK ABLE Ġ-> Ġreturn Ġview Element Getter (). is Long Clickable . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . PASSWORD Ġ-> Ġreturn Ġview Element Getter (). is Password . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . SELECTED Ġ-> Ġreturn Ġview Element Getter (). isSelected . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . VISIBLE Ġ-> Ġreturn Ġview Element Getter (). isVisible . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . BOUN DS Ġ-> Ġreturn Ġview Element Getter (). bounds . to Short String () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . RESOURCE _ ID Ġ-> Ġreturn Ġview Element Getter (). resourceId ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . INDEX Ġ-> Ġreturn Ġview Element Getter (). index . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . PACKAGE Ġ-> Ġreturn Ġview Element Getter (). packageName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . VIEW _ TAG Ġ-> Ġreturn Ġview Element Getter (). view Tag ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . NO _ EL LI P SIZ ED _ TEXT Ġ-> Ġreturn Ġcheck To AttributeValue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Interaction Getter (). check ( no El lips ized Text ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . NO _ MULT IL INE _ BUTTON S Ġ-> Ġreturn Ġcheck To AttributeValue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Interaction Getter (). check ( no Mult iline Buttons ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . NO _ OVER LAP S Ġ-> Ġreturn Ġcheck To AttributeValue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Interaction Getter (). check ( no Overlap s ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġit 's Ġa ĠTEXT Ġattribute , Ġreturn Ġthe Ġview 's Ġraw Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Attributes Enum . TEXT Ġ-> Ġreturn ĠView Text Getter ()[ view Interaction Getter ()]. raw Text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠNot Y et Implemented Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠIf Ġwe Ġmade Ġit Ġthis Ġfar , Ġwe Ġfound Ġno Ġmatching Ġattribute . ĠThrow Ġan Ġexception ĊĠĠĠĠĠĠĠ Ġval Ġsupported Attribute Names Ġ= ĠView Attributes Enum . values (). map Ġ{ Ġit . toString () Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠApp ium Exception (" Attribute Ġname Ġshould Ġbe Ġone Ġof Ġ$ supported Attribute Names . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"' $ attribute Name ' Ġis Ġgiven Ġinstead ") ĊĠĠĠ Ġ} Ċ } Ċ