package Ġcash . z . ecc . android . sdk . dark side . test Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . Application Info Ċ import Ġandroid . os . Build Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġorg . junit . Before Ċ Ċ /** Ċ Ġ* ĠSub class Ġthis Ġto Ġvalidate Ġthe Ġenvironment Ġfor Ġrunning ĠDark side Ġtests . Ċ Ġ*/ Ċ open Ġclass ĠDark side Test Pr erequisites Ġ{ ĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġverify Em ulator () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( is Prob ably Em ulator ( Application Provider . getApplicationContext ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Dark side Ġtests Ġare Ġconfigured Ġto Ġonly Ġrun Ġon Ġthe ĠAndroid ĠEm ulator . Ġ ĠPlease Ġsee Ġhttps :// github . com / zc ash / zc ash - android - wallet - sdk / blob / master / docs / tests / Dark side . md " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġis Prob ably Em ulator ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isDebug gable ( context )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġis Ġimper fect Ġand Ġcould Ġbreak Ġin Ġthe Ġfuture ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== ĠBuild . DEVICE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġ" generic " Ġ== ĠBuild . DEVICE Ġ//$ NON - NLS ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġ(" generic _ x 8 6 " Ġ== ĠBuild . DEVICE ) Ġ//$ NON - NLS ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠWhether Ġthe Ġapplication Ġrunning Ġis Ġdebug gable . Ġ ĠThis Ġis Ġdetermined Ġfrom Ġthe ĊĠĠĠĠĠĠĠĠ Ġ* ĠApplication Info Ġobject Ġ(` Build Info ` Ġis Ġuseless Ġfor Ġlibraries .) ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġis Debug gable ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpackage Info Ġ= Ġcontext . package Manager . get Package Info ( context . packageName , Ġ 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNorm ally Ġshouldn 't Ġbe Ġnull , Ġbut Ġcould Ġbe Ġwith Ġa ĠMock Context ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpackage Info . application Info ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ!= Ġ( it . flags Ġand ĠApplication Info . FLAG _ DEBUG G ABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }