/* Ċ Ġ* ĠUnless Ġexplicitly Ġstated Ġotherwise Ġall Ġfiles Ġin Ġthis Ġrepository Ġare Ġlicensed Ġunder Ġthe ĠApache ĠLicense ĠVersion Ġ 2 . 0 . Ċ Ġ* ĠThis Ġproduct Ġincludes Ġsoftware Ġdeveloped Ġat ĠDat adog Ġ( https :// www . datadog hq . com /). Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - Present ĠDat adog , ĠInc . Ċ Ġ*/ Ċ Ċ package Ġcom . datadog . android . sdk . integration . rum Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . card view . widget . Card View Ċ import Ġandroidx . test . espress o . Esp ress o . on View Ċ import Ġandroidx . test . espress o . action . View Actions . click Ċ import Ġandroidx . test . espress o . action . View Actions . swipe Down Ċ import Ġandroidx . test . espress o . contrib . RecyclerView Actions Ċ import Ġandroidx . test . espress o . matcher . View Matchers . with Id Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġcom . datadog . android . rum . R um Attributes Ċ import Ġcom . datadog . android . sdk . integration . R Ċ import Ġcom . datadog . android . sdk . rules . Gest ures Tracking Activity Test Rule Ċ Ċ internal Ġabstract Ġclass ĠGest ures Tracking Test Ġ: ĊĠĠĠ ĠR um Test < Gest ures Tracking Play ground Activity , ĊĠĠĠĠĠĠĠ ĠGest ures Tracking Activity Test Rule < Gest ures Tracking Play ground Activity >>() Ġ{ ĊĊĠĠĠ Ġ// Ġregion ĠR um Test ĊĊĠĠĠ Ġoverride Ġfun Ġrun Instrumentation Scenario ( ĊĠĠĠĠĠĠĠ Ġmock Server Rule : ĠGest ures Tracking Activity Test Rule < Gest ures Tracking Play ground Activity > ĊĠĠĠ Ġ): ĠList < Expected Event > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock Server Rule . activity ĊĠĠĠĠĠĠĠ Ġval Ġinstrument ation Ġ= ĠInstrument ation Registry . get Instrumentation () ĊĠĠĠĠĠĠĠ Ġinstrument ation . waitFor Idle Sync () ĊĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . button )). perform ( click ()) ĊĠĠĠĠĠĠĠ Ġinstrument ation . waitFor Idle Sync () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// Ġperform Ġa Ġtap Ġevent Ġon Ġa ĠRecyclerView Ġitem ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . re cyclerView )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecyclerView Actions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. action On Item At Position < Gest ures Tracking Play ground Activity . Adapter . ViewHolder >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġinstrument ation . waitFor Idle Sync () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// Ġperform Ġa Ġswipe Ġevent Ġon Ġthe ĠRecyclerView ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . re cyclerView )). perform ( swipe Down ()) ĊĠĠĠĠĠĠĠ Ġinstrument ation . waitFor Idle Sync () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . button )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( click ()) Ġ// Ġlast Ġone Ġwon 't Ġbe Ġsent Ġ( yet ) ĊĠĠĠĠĠĠĠ Ġinstrument ation . waitFor Idle Sync () ĊĊĠĠĠĠĠĠĠ Ġval Ġview Url Ġ= Ġactivity . java Class . canonical Name !!. replace ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ'.', ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ'/' ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġexpected Events ( view Url , Ġactivity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend region ĊĊĠĠĠ Ġ// Ġregion ĠInternal ĊĊĠĠĠ Ġprivate Ġfun ĠView . target Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . java Class . canonical Name Ġ?: Ġthis . java Class . simple Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġexpected Events ( ĊĠĠĠĠĠĠĠ Ġview Url : ĠString , ĊĠĠĠĠĠĠĠ Ġactivity : ĠGest ures Tracking Play ground Activity ĊĠĠĠ Ġ): ĠList < Expected Event > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Gesture Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGest ure . T AP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . button . target Name (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" button " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpected View Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Gesture Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGest ure . T AP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCard View :: class . java . canonical Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠCard View :: class . java . simple Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" re cyclerView Row ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Attributes Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR um Attributes . ACTION _ TARGET _ PARENT _ INDEX Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR um Attributes . ACTION _ TARGET _ PARENT _ CLASS NAME Ġto ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . re cyclerView . java Class . canonical Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR um Attributes . ACTION _ TARGET _ PARENT _ RESOURCE _ ID Ġto ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" re cyclerView " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpected View Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Gesture Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGest ure . SW I PE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . re cyclerView . target Name (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" re cyclerView ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Attributes Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR um Attributes . ACTION _ GEST URE _ DIRECTION Ġto Ġ" down " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpected View Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend region Ċ } Ċ