package Ġ` in `. evil corp . br icks open launcher . repository Ċ Ċ import Ġ` in `. evil corp . br icks open launcher . repository . entities . App Package Ċ import Ġ` in `. evil corp . br icks open launcher . repository . entities . Selection Item Ċ import Ġ` in `. evil corp . br icks open launcher . repository . entities . Shortcut Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Filter Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . android . plugins . Rx Android Plugins Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . plugins . Rx Java Plugins Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠShort cuts Repository Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpkg Prefix Ġ= Ġ" test . evil corp " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġshortcuts Repo : ĠShort cuts Repository ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreference Apps : ĠMutable Collection < App Package > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreference Shortcut s : ĠMutable Collection < Shortcut > ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdis pos ables : ĠComposite Disposable ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġprepare Rx Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġdis pos ables Ġ= ĠComposite Disposable () ĊĠĠĠĠĠĠĠ ĠRx Android Plugins . set MainThread Scheduler Handler Ġ{ ĠS chedulers . tr amp oline () Ġ} ĊĠĠĠĠĠĠĠ ĠRx Java Plugins . set Io Scheduler Handler Ġ{ ĠS chedulers . tr amp oline () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġgenerate Apps () ĊĠĠĠĠĠĠĠ Ġgenerate Shortcut s () ĊĊĠĠĠĠĠĠĠ Ġval Ġapps Repo Stub Ġ= Ġobject Ġ: ĠApp Package Storage Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Available Packages (): ĠObservable < App Package > Ġ= ĠObservable . from Iterable ( reference Apps ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Available Packages Cached (): ĠObservable < App Package > Ġ= Ġget Available Packages () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġselect Repo Stub Ġ= Ġobject Ġ: ĠSelection Item Storage Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsrc App Ġ= Ġreference Apps . first () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Item Ġ= ĠSelection Item ( src App . pkg Id , Ġ 0 , Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Selection ( text Key : ĠString ): ĠSingle < Selection Item > Ġ= ĠSingle . just ( test Item . apply Ġ{ Ġthis . text Key Ġ= Ġtext Key }) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsave Selection ( selection Item : ĠSelection Item ): ĠComp letable Ġ= ĠComp letable . complete () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshortcuts Repo Ġ= ĠShort cuts Repository ( apps Repo Stub , Ġselect Repo Stub ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Apps () Ġ{ ĊĠĠĠĠĠĠĠ Ġreference Apps Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġobject Ġ: ĠDrawable () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġset Alpha ( alpha : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Opacity (): ĠInt Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġset Color Filter ( color Filter : ĠColor Filter ?) Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠApp Package ("$ pkg Prefix - app $ i ", Ġ" app $ i ", Ġdrawable , ĠIntent ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Apps . add ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Shortcut s () Ġ{ ĊĠĠĠĠĠĠĠ Ġreference Shortcut s Ġ= Ġreference Apps ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠShort cut ( false , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ map Ġitem . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġit . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Intent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpkg Id Ġ= Ġit . pkg Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġit . icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Mutable List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun Ġclear Rx Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġdis pos ables . dispose () ĊĠĠĠĠĠĠĠ ĠRx Android Plugins . reset () ĊĠĠĠĠĠĠĠ ĠRx Java Plugins . reset () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Shortcut s Updated () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest List Ġ= Ġreference Shortcut s ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . selected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . position Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ map Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshortcuts Repo . get Shortcut s Updated () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Count ( test List . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Set ( test List ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Single Shortcut () Ġ{ ĊĊĠĠĠ Ġ} Ċ }