package Ġeu . car aus . apps fl ast fm . ui . id ling Resources . search Ċ Ċ import Ġandroid . support . test . espress o . Id ling Resource Ċ import Ġandroid . support . test . Instrumentation Registry Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Relative Layout Ċ Ċ import Ġeu . car aus . apps fl ast fm . R Ċ import Ġeu . car aus . apps fl ast fm . test Utils . Test Application Ċ import Ġeu . car aus . apps fl ast fm . ui . base . Base Activity Ċ import Ġeu . car aus . apps fl ast fm . ui . base . Base Fragment Ċ import Ġeu . car aus . apps fl ast fm . ui . search . artists . Art ists Fragment ĊĊ Ċ class ĠSearch Artist List Id ling Resource Ġ: ĠId ling Resource Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġresource Callback : ĠId ling Resource . Resource Callback ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġis Idle : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ= ĠSearch Artist List Id ling Resource :: class . java . name ĊĊĠĠĠ Ġoverride Ġfun Ġis Idle Now (): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif ( Ġis Idle Ġ) return Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= ĠgetCurrent Activity () ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġactivity ?. support FragmentManager ?. find Fragment ById ( ĠR . id . search _ fragment _ container Ġ) Ġas ĠBase Fragment ? ĊĊĠĠĠĠĠĠĠ Ġfragment ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Idle Ġ= Ġ( it Ġis ĠArt ists Fragment ) Ġ&& Ġ( it . activity ?. findViewById < Relative Layout >( R . id . rl Artist )?. visibility Ġ== ĠView . VISIBLE ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Idle Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Idle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresource Callback ?. on Transition To Idle () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġis Idle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Idle Transition Callback ( Ġcallback : ĠId ling Resource . Resource Callback ? Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . resource Callback Ġ= Ġcallback ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetCurrent Activity (): ĠBase Activity ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( Instrumentation Registry . getTarget Context (). application Context Ġas ĠTest Application ). current Activity ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ