package Ġfr . xg ou chet . package explorer . launcher Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . pm . Resolve Info Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġfr . xg ou chet . package explorer . R Ċ import Ġfr . xg ou chet . package explorer . core . utils . get Resolved Intent Ċ import Ġio . reactivex . functions . Bi Consumer Ċ Ċ class ĠLaunch er Dialog Ġ: ĊĠĠĠ ĠDialog Fragment (), ĊĠĠĠĠĠĠĠ ĠBi Consumer < Resolve Info , ĠView ?> Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ DATA Ġ= Ġ" data _ resolve _ info " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwith Data ( data : ĠList < Resolve Info >): ĠLaunch er Dialog Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠLaunch er Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Parcelable Array ( KEY _ DATA , Ġdata . to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdialog ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata : ĠList < Resolve Info > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠResolve Info Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Activity Ġ= Ġactivity !! ĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= ĠRecyclerView ( current Activity ) ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġdata Ġ= Ġarguments ?. get Parcelable Array ( KEY _ DATA )?. toList () Ġas ĠList < Resolve Info >? Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠResolve Info Adapter ( data , Ġthis , Ġcurrent Activity . package Manager ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( current Activity ) ĊĠĠĠĠĠĠĠ Ġ// ĠTODO Ġadd Ġlistener ĊĊĠĠĠĠĠĠĠ Ġreturn ĠAlertDialog . Builder ( current Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . dialog _ title _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( re cyclerView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġaccept ( info : ĠResolve Info , Ġview : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ ĠstartActivity ( get Resolved Intent ( info )) ĊĠĠĠ Ġ} Ċ } Ċ