package Ġcom . air bnb . android . show k ase . annotation Ċ Ċ import Ġkotlin . reflect . K Class ĊĊ Ċ /** Ċ Ġ* ĠUsed Ġto Ġannotate Ġthe Ġ[ Show k ase Screenshot Test ] Ġimplementation Ġclass . ĠThis Ġis Ġneeded Ġto Ġlet Ċ Ġ* ĠShow k ase Ġknow Ġthat Ġit Ġneeds Ġto Ġgenerate Ġscreenshot Ġtests Ġfor Ġyour ĠUI Ġelements Ġthat Ġare Ġintegrated Ċ Ġ* Ġwith ĠShow k ase . Ċ Ġ* Ċ Ġ* Ġ< p > Ċ Ġ* ĠHere 's Ġan Ġexample Ġof Ġhow Ġyou Ġwould Ġtypically Ġuse Ġit : Ċ Ġ* Ċ Ġ* Ġ@ Show k ase Screenshot Test Ċ Ġ* Ġabstract Ġclass ĠMy Screenshot Test : ĠShow k ase Screenshot Module Ġ{ Ċ Ġ* ĠĠ Ġoverride Ġfun Ġon Screenshot ( Ċ Ġ* ĠĠĠĠĠĠ Ġid : ĠString , Ċ Ġ* ĠĠĠĠĠĠ Ġname : ĠString , Ċ Ġ* ĠĠĠĠĠĠ Ġgroup : ĠString , Ċ Ġ* ĠĠĠĠĠĠ Ġscreenshot Type : ĠShow k ase Screenshot Type , Ċ Ġ* ĠĠĠĠĠĠ Ġscreenshot Bitmap : ĠBitmap Ċ Ġ* ĠĠ Ġ) Ġ{ Ċ Ġ* ĠĠĠĠĠĠ Ġ// ĠHere Ġyou Ġdo Ġthe Ġaction Ġyou Ġwant Ġto Ġtake Ġwith Ġthe Ġscreenshot . Ċ Ġ* ĠĠ Ġ} Ċ Ġ* Ġ} Ċ Ġ* Ċ Ġ* Ġ</ p > Ċ Ġ* Ċ Ġ* ĠNote : Ġyou Ġshould Ġadd Ġthis Ġclass Ġto Ġthe Ġandroid Test Ġsource Set Ġas Ġthat 's Ġwhere Ġyour Ġtesting Ċ Ġ* Ġdependencies Ġwill Ġexists Ġotherwise Ġthe Ġgenerated Ġtest Ġwon 't Ġcompile . Add itionally , its Ġimportant Ċ Ġ* Ġthat Ġthe Ġclass Ġyou Ġannotate Ġwith Ġ[ Show k ase Screenshot ] Ġis Ġeither Ġabstract Ġor Ġopen Ġas ĠShow k ase Ċ Ġ* Ġgenerates Ġa Ġclass Ġthat Ġextends Ġthis Ġclass Ġin Ġorder Ġto Ġget Ġaccess Ġto Ġthe Ġon Screenshot Ġmethod . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroot Show k ase Class : ĠPass Ġthe Ġ[ Show k ase Root ] Ġdeclaration Ġthat Ġyou Ġdeclared Ġwhen Ġsetting Ġup Ċ Ġ* ĠCompose . ĠIf Ġyou Ġhave Ġmultiple Ġimplementations Ġof Ġ[ Show k ase Root ], Ġpass Ġthe Ġone Ġthat Ġyou Ġwant Ġto Ċ Ġ* Ġtest . Ċ Ġ*/ Ċ @ Must Be Document ed Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ @ Target ( Annotation Target . CLASS ) Ċ annotation Ġclass ĠShow k ase Screenshot ( ĊĠĠĠ Ġval Ġroot Show k ase Class : ĠK Class < *> Ċ ) Ċ