/* Ċ Ġ* ĠCopyright Ġ( c ) ĠFrancisco ĠBar ro so Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . fb . split screen launcher . ui . shortcut Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . pm . Activity Info Ċ import Ġandroid . graphics . drawable . Bitmap Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġcom . af ol le st ad . re cyc lic al . datasource . DataSource Ċ import Ġcom . af ol le st ad . re cyc lic al . datasource . dataSource Typed Of Ċ import Ġcom . fb . split screen launcher . R Ċ import Ġcom . fb . split screen launcher . ui . settings . model . App Info Ċ import Ġcom . fb . split screen launcher . util . icon . Icon Util ĊĊ Ċ interface ĠShort cut Dialog Repo Ġ{ ĊĊĊĠĠĠ Ġval ĠdataSource : ĠDataSource < App Info > ĊĊĊĠĠĠ Ġfun Ġget Icon (): ĠDrawable ĊĊĊĠĠĠ Ġfun Ġget Label (): ĠString ĊĊĊĠĠĠ Ġfun Ġset App ( index : ĠInt , Ġinfo : ĠActivity Info ?) ĊĊĊĠĠĠ Ġfun Ġclear () Ċ Ċ } ĊĊ Ċ class ĠShort cut Dialog Repo Impl ( val Ġapp : ĠApplication ): ĠShort cut Dialog Repo Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġicon Style : ĠInt Ġ= Ġ 0 ĊĊĊĠĠĠ Ġoverride Ġval ĠdataSource Ġby Ġlazy Ġ{ ĠdataSource Typed Of ( App Info (), ĠApp Info ()) Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġget Icon (): ĠDrawable Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtop Info Ġ= ĠdataSource [ 0 ]. activity Info ĊĠĠĠĠĠĠĠ Ġval Ġbottom Info Ġ= ĠdataSource [ 1 ]. activity Info ĊĊĠĠĠĠĠĠĠ Ġreturn ĠBitmap Drawable ( app . resources , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Util . get Icon ( icon Style , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Info ?. load Icon ( app . package Manager ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Info ?. load Icon ( app . package Manager ))) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġget Label (): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtop Info Ġ= ĠdataSource [ 0 ]. activity Info ĊĠĠĠĠĠĠĠ Ġval Ġbottom Info Ġ= ĠdataSource [ 1 ]. activity Info ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Info Ġ== Ġnull Ġ|| Ġbottom Info Ġ== Ġnull Ġ-> Ġapp . getString ( R . string . dialog _ new _ label _ hint ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"${ top Info . load Label ( app . package Manager )}, Ġ${ bottom Info . load Label ( app . package Manager )}" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġset App ( index : ĠInt , Ġinfo : ĠActivity Info ?) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠdataSource [ index ]. activity Info Ġ= Ġinfo ĊĊĠĠĠĠĠĠĠ ĠdataSource . invalidate At ( index ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĊĠĠĠĠĠĠĠ ĠdataSource [ 0 ]. activity Info Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠdataSource [ 1 ]. activity Info Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ ĠdataSource . invalidate All () ĊĊĠĠĠ Ġ} ĊĊ Ċ }