package Ġnet . sky scanner . back pack . dialog Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġandroidx . test . espress o . Esp ress o . on View Ċ import Ġandroidx . test . espress o . matcher . Root Matchers . is Dialog Ċ import Ġandroidx . test . espress o . matcher . View Matchers . with Id Ċ import Ġandroidx . test . filters . Fl aky Test Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġnet . sky scanner . back pack . B pk Snapshot Test Ċ import Ġnet . sky scanner . back pack . button . B pk Button Ċ import Ġnet . sky scanner . back pack . demo . MainActivity Ċ import Ġnet . sky scanner . back pack . demo . R Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠB pk Dialog Test Ġ: ĠB pk Snapshot Test () Ġ{ ĊĊĠ Ġprivate Ġlateinit Ġvar Ġactivity : ĠAppCompatActivity ĊĊĠ Ġ@ get : Rule ĊĠ Ġvar Ġactivity Rule : ĠActivity Test Rule < MainActivity > Ġ= ĊĠĠĠ ĠActivity Test Rule ( MainActivity :: class . java ) ĊĊĠ Ġ@ Before ĊĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠ Ġset Dimensions ( 4 0 0 , Ġ 3 5 0 ) ĊĠĠĠ Ġactivity Ġ= Ġactivity Rule . activity ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġ@ Fl aky Test ĊĠ Ġfun Ġscreenshot Test Dialog () Ġ{ ĊĠĠĠ Ġval Ġasync Screenshot Ġ= Ġprepare For Async Test () ĊĊĠĠĠ Ġval Ġdialog Ġ= ĠB pk Dialog ( activity ). apply Ġ{ ĊĠĠĠĠĠ Ġtitle Ġ= Ġ" You Ġare Ġgoing Ġto ĠTok yo !" ĊĠĠĠĠĠ Ġdescription Ġ= Ġ" Your Ġflight Ġis Ġall Ġbook ed . ĠWhy Ġnot Ġcheck Ġout Ġsome Ġhot els Ġnow ?" ĊĠĠĠĠĠ Ġicon Ġ= ĠB pk Dialog . Icon ( ĊĠĠĠĠĠĠĠ ĠR . drawable . b pk _ tick , ĊĠĠĠĠĠĠĠ ĠR . color . b pk Green 5 0 0 ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġadd ActionButton ( B pk Button ( context ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Continue " ĊĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠ Ġadd ActionButton ( B pk Button ( context , ĠB pk Button . Type . Secondary ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Skip " ĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrecord ( dialog , Ġasync Screenshot ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġ@ Fl aky Test ĊĠ Ġfun Ġscreenshot Test Dialog Bottom Sheet () Ġ{ ĊĠĠĠ Ġval Ġasync Screenshot Ġ= Ġprepare For Async Test () ĊĊĠĠĠ Ġval Ġdialog Ġ= ĠB pk Dialog ( activity , ĠB pk Dialog . Style . BOTTOM _ SHE ET ). apply Ġ{ ĊĠĠĠĠĠ Ġtitle Ġ= Ġ" Delete ?" ĊĠĠĠĠĠ Ġdescription Ġ= Ġ" Delete Ġyour Ġprofile ?" ĊĠĠĠĠĠ Ġicon Ġ= ĠB pk Dialog . Icon ( ĊĠĠĠĠĠĠĠ ĠR . drawable . b pk _ trash , ĊĠĠĠĠĠĠĠ ĠR . color . b pk Red 5 0 0 ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġadd ActionButton ( B pk Button ( context , ĠB pk Button . Type . Dest ruct ive ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Delete " ĊĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠ Ġadd ActionButton ( B pk Button ( context , ĠB pk Button . Type . Secondary ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Cancel " ĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrecord ( dialog , Ġasync Screenshot ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġrecord ( dialog : ĠB pk Dialog , Ġasync Screenshot : ĠAsync Snapshot ) Ġ{ ĊĠĠĠ Ġactivity . run On Ui Thread Ġ{ ĊĠĠĠĠĠ Ġdialog . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġon View ( with Id ( R . id . dialog _ content _ layout )) ĊĠĠĠĠĠ Ġ. in Root ( is Dialog ()) ĊĠĠĠĠĠ Ġ. check Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġis Ġnot Ġideal Ġbut ĠI Ġcouldn 't Ġfind Ġa Ġway Ġto Ġsnapshot Ġthe Ġwhole Ġwindow Ġand Ġwe Ġneed Ġcontrast Ġto ĊĠĠĠĠĠĠĠ Ġ// Ġsee Ġthe Ġrounded Ġcorners ĊĊĠĠĠĠĠĠĠ Ġval Ġroot View Ġ= Ġdialog . window !!. decor View ĊĠĠĠĠĠĠĠ Ġactivity . window Manager . remove View ( root View ) ĊĊĠĠĠĠĠĠĠ Ġval Ġwrapper Ġ= ĠFrame Layout ( activity ) ĊĠĠĠĠĠĠĠ Ġwrapper . layout Params Ġ= ĠFrame Layout . LayoutParams ( Frame Layout . LayoutParams . WRAP _ CONTENT , ĠFrame Layout . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠ Ġwrapper . set Padding ( 2 0 , Ġ 2 0 , Ġ 2 0 , Ġ 2 0 ) ĊĠĠĠĠĠĠĠ Ġwrapper . set BackgroundColor ( Resources Compat . getColor ( activity . resources , ĠR . color . b pk Gray 5 0 0 , Ġactivity . theme )) ĊĠĠĠĠĠĠĠ Ġwrapper . addView ( root View ) ĊĊĠĠĠĠĠĠĠ Ġsetup View ( wrapper ) ĊĠĠĠĠĠĠĠ Ġasync Screenshot . record ( wrapper ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ