package Ġnet . cri ms on wood s . easy databinding . binding Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . drawable . N ine Patch Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroid . view . animation . Accel erate Interpolator Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroidx . annotation . Px Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . fragment . app . testing . Fragment Scenario Ċ import Ġandroidx . fragment . app . testing . launch Fragment In Container Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġandroidx . test . espress o . Esp ress o . on View Ċ import Ġandroidx . test . espress o . assertion . View Assertions . matches Ċ import Ġandroidx . test . espress o . matcher . Bounded Matcher Ċ import Ġandroidx . test . espress o . matcher . View Matchers . with Id Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġkotlin . test . Before Test Ċ import Ġkotlin . test . assert Fails With Ċ import Ġnet . cri ms on wood s . easy databinding . fragment . Test Fragment Ċ import Ġnet . cri ms on wood s . easy databinding . matcher . View Matchers Ċ import Ġnet . cri ms on wood s . easy databinding . matcher . View Matchers . with Drawable TypeOf Ċ import Ġnet . cri ms on wood s . easy databinding . models . Bool Ċ import Ġnet . cri ms on wood s . easy databinding . models . Dimension Ċ import Ġnet . cri ms on wood s . easy databinding . models . Drawable Ċ import Ġnet . cri ms on wood s . easy databinding . models . Integer Ċ import Ġnet . cri ms on wood s . easy databinding . models . Interpolator Ċ import Ġnet . cri ms on wood s . easy databinding . models . Tint Ċ import Ġnet . cri ms on wood s . easy databinding . testing . R Ċ import Ġorg . hamcrest . Description Ċ import Ġorg . hamcrest . Matcher Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . annotation . Config Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠProgress Bar Binding Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscenario : ĠFragment Scenario < Test Fragment > ĊĊĠĠĠ Ġ@ Before Test ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Fragment In Container < Test Fragment >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. moveTo State ( Lifecycle . State . RE SU MED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set In determinate () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ" in determinate " Ġis Ġset Ġto Ġfalse Ġby Ġdefault Ġwhen Ġ" in determinate Only " Ġis Ġset Ġto Ġfalse . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set In determinate ( Bool . TRUE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( isIn determinate ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set In determinate Drawable () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set In determinate Drawable ( Drawable . of ( R . drawable . test _ drawable _ 9 patch )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with In determinate Drawable TypeOf < N ine Patch Drawable > ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set In determinate Tint List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set In determinate Tint List ( Tint . of ( R . color . test _ tint )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠContext Compat . getColor State List ( context , ĠR . color . test _ tint ) ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with In determinate Tint List ( expected ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Interpolator () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠRo bo lectric 's Ġ" Shadow Animation Utils . load Interpolator " Ġalways Ġreturns Ġ" Linear Interpolator " ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Interpolator ( Interpolator . of ( Accel erate Interpolator ( 2 . 0 f ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Interpolator TypeOf < Accel erate Interpolator > ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ setMax () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMax ( Integer . wrap ( 1 2 3 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Max ( 1 2 3 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO ĠEnables Ġthis Ġtest Ġwhen ĠJava 9 Ġor Ġlater Ġcan Ġbe Ġused Ġto Ġrun Ġtests . ĊĠĠĠ Ġ/* ĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . Q ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ setMax Height _ Q () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMax Height ( Dimension . px ( 2 0 0 f )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Max Height ( 2 0 0 ))) ĊĠĠĠ Ġ} ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . P ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ setMax Height _ P () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < Unsupported OperationException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMax Height ( Dimension . px ( 2 0 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO ĠEnables Ġthis Ġtest Ġwhen ĠJava 9 Ġor Ġlater Ġcan Ġbe Ġused Ġto Ġrun Ġtests . ĊĠĠĠ Ġ/* ĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . Q ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ setMax Width _ Q () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMax Width ( Dimension . px ( 2 0 0 f )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Max Width ( 2 0 0 ))) ĊĠĠĠ Ġ} ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . P ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ setMax Width _ P () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < Unsupported OperationException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMax Width ( Dimension . px ( 2 0 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . O ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Min _ O () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Min ( Integer . wrap ( Int . MIN _ VALUE )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Min ( Int . MIN _ VALUE ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . N ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Min _ N () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < Unsupported OperationException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Min ( Integer . wrap ( Int . MIN _ VALUE )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO ĠEnables Ġthis Ġtest Ġwhen ĠJava 9 Ġor Ġlater Ġcan Ġbe Ġused Ġto Ġrun Ġtests . ĊĠĠĠ Ġ/* ĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . Q ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Min Height _ Q () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Min Height ( Dimension . px ( 1 0 f )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Min Height ( 1 0 ))) ĊĠĠĠ Ġ} ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . P ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Min Height _ P () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < Unsupported OperationException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Min Height ( Dimension . px ( 1 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO ĠEnables Ġthis Ġtest Ġwhen ĠJava 9 Ġor Ġlater Ġcan Ġbe Ġused Ġto Ġrun Ġtests . ĊĠĠĠ Ġ/* ĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . Q ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Min Height _ Q () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Min Width ( Dimension . px ( 1 0 f )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Min Width ( 1 0 ))) ĊĠĠĠ Ġ} ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . P ]) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Min Width _ P () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < Unsupported OperationException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Min Width ( Dimension . px ( 1 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Progress ( Integer . wrap ( 1 2 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Progress ( 1 2 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Progress Background Tint List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Progress Background Tint List ( Tint . of ( R . color . test _ tint )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠContext Compat . getColor State List ( context , ĠR . color . test _ tint ) ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Progress Background Tint List ( expected ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Progress Drawable () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Progress Drawable ( Drawable . of ( R . drawable . test _ drawable _ 9 patch )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Progress Drawable TypeOf < N ine Patch Drawable > ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Progress Tint List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Progress Tint List ( Tint . of ( R . color . test _ tint )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠContext Compat . getColor State List ( context , ĠR . color . test _ tint ) ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Progress Tint List ( expected ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Secondary Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Secondary Progress ( Integer . wrap ( 1 2 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Secondary Progress ( 1 2 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Binding _ set Secondary Progress Tint () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĠĠĠĠĠĠĠ Ġscenario . on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . require View (). findViewById < ProgressBar >( R . id . progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Secondary Progress Tint ( Tint . of ( R . color . test _ tint )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠContext Compat . getColor State List ( context , ĠR . color . test _ tint ) ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . progress )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( matches ( with Secondary Progress Tint List ( expected ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠisIn determinate (): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" is Ġin determinate ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . isIn determinate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠT Ġ: Ġandroid . graphics . drawable . Drawable > Ġwith In determinate Drawable TypeOf (): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Drawable TypeOf < ProgressBar , ĠT >( ProgressBar :: getIn determinate Drawable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith In determinate Tint List ( value : ĠColor State List ?): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġin determinate - tint - list Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . in determinate Tint List ?. toString () Ġ== Ġvalue ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠT Ġ: Ġandroid . view . animation . Interpolator > Ġwith Interpolator TypeOf (): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠView Matchers . with Interpolator TypeOf < ProgressBar , ĠT >( ProgressBar :: get Interpolator ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Max ( value : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġmax Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . max Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Max Height (@ Px Ġvalue : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġmax Ġheight Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . max Height Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Max Width (@ Px Ġvalue : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġmax Ġwidth Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . maxWidth Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Min ( value : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġmin Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . min Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Min Height (@ Px Ġvalue : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġmin Ġheight Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . min Height Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Min Width (@ Px Ġvalue : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġmin Ġwidth Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . min Width Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Progress ( value : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġprogress Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . progress Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Progress Background Tint List ( value : ĠColor State List ?): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġprogress - background - tint Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . progress Background Tint List ?. toString () Ġ== Ġvalue ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠT Ġ: Ġandroid . graphics . drawable . Drawable > Ġwith Progress Drawable TypeOf (): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Drawable TypeOf < ProgressBar , ĠT >( ProgressBar :: get Progress Drawable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Progress Tint List ( value : ĠColor State List ?): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġprogress - tint Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . progress Tint List ?. toString () Ġ== Ġvalue ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Secondary Progress ( value : ĠInt ): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġsecondary - progress Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . secondary Progress Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Secondary Progress Tint List ( value : ĠColor State List ?): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠProgress View Matcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" with Ġsecondary - progress - tint Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . secondary Progress Tint List ?. toString () Ġ== Ġvalue ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġabstract Ġclass ĠProgress View Matcher Ġ: ĊĠĠĠĠĠĠĠ ĠBo unded Matcher < View , ĠProgress Bar >( ProgressBar :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) ĊĠĠĠĠĠĠĠ Ġabstract Ġoverride Ġfun Ġmatches S af ely ( item : ĠProgress Bar ): ĠBoolean ĊĠĠĠ Ġ} Ċ } Ċ