package Ġcom . qu ittle . a 1 1 y ally Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . preference . Preference Manager Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġcom . qu ittle . a 1 1 y ally . preferences . Preference Provider Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertFalse Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Suppress Lint (" Apply Shared Pref ") Ċ class ĠA 1 1 y All y Application Test Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġcontext : ĠContext ĊĠĠĠ Ġlateinit Ġvar Ġshared Preferences : ĠSharedPreferences ĊĠĠĠ Ġlateinit Ġvar Ġpreference Provider : ĠPreference Provider ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġfirebase Rule Ġ= ĠFirebase Rule () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= ĠApplication Provider . getApplicationContext () ĊĠĠĠĠĠĠĠ Ġshared Preferences Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĠĠĠĠĠĠĠ Ġpreference Provider Ġ= ĠPreference Provider ( context ) ĊĠĠĠĠĠĠĠ Ġpreference Provider . on Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Default Preference Initialization () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA 1 1 y All y Application . PREFER ENCE _ RESOURCES , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . xml :: class . members ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġmember Ġ-> Ġmember . name . endsWith (" preferences ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġmember Ġ-> Ġmember . call () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" If Ġthis Ġfails , ĠA 1 1 y All y Application Ġlikely Ġis Ġnot Ġinitializing Ġall Ġpreferences " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Default Preference Values () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ service _ enabled ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ highlight _ issues ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ highlight _ missing _ labels ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ highlight _ small _ touch _ targets ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ small _ touch _ target _ size ", Ġ" 4 8 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ display _ content _ descriptions ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ linear _ navigation _ enabled ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ enable _ all _ apps ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pref _ show _ tutorial ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . all ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Preference Controls () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . get Highlight Issues ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . getDisplay Content Description ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . get Linear Navigation Enabled ()) ĊĊĠĠĠĠĠĠĠ Ġenable Highlight Issues () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( preference Provider . get Highlight Issues ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . getDisplay Content Description ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . get Linear Navigation Enabled ()) ĊĊĠĠĠĠĠĠĠ Ġenable Display Content Descriptions () ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . get Highlight Issues ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( preference Provider . getDisplay Content Description ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . get Linear Navigation Enabled ()) ĊĊĠĠĠĠĠĠĠ Ġenable Linear Navigation () ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . get Highlight Issues ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . getDisplay Content Description ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( preference Provider . get Linear Navigation Enabled ()) ĊĊĠĠĠĠĠĠĠ Ġenable Highlight Issues () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( preference Provider . get Highlight Issues ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . getDisplay Content Description ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( preference Provider . get Linear Navigation Enabled ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġenable Highlight Issues () Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Preferences . edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Boolean ( context . getString ( R . string . pref _ highlight _ issues ), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġenable Display Content Descriptions () Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Preferences . edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Boolean ( context . getString ( R . string . pref _ display _ content _ descriptions ), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġenable Linear Navigation () Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Preferences . edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Boolean ( context . getString ( R . string . pref _ linear _ navigation _ enabled ), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} Ċ } Ċ