package Ġli . ru oshi . playground Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . Activity Info Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Button Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġru osh ili Ġon Ġ 5 / 9 / 1 5 . Ċ Ġ*/ Ċ public Ġclass ĠActiv ities Adapter ( context : ĠActivity ) Ċ : ĠArray Adapter < Activity Info >( context , ĠR . layout . activity _ item , ĠR . id . lan uch _ activity _ button ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTAG Ġ= ĠActiv ities Adapter :: class . java . simple Name ĊĠĠĠĠĠĠĠ Ġval ĠPackage Name Ġ= Ġ" li . ru oshi . playground " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġactivity Ġ= Ġcontext ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpkg Mgr Ġ= Ġcontext . package Manager ĊĠĠĠĠĠĠĠ Ġval Ġpkg Info Ġ= Ġpkg Mgr . get Package Info ( PackageName , ĠPackage Manager . GET _ ACTIV ITIES ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlaunch Intent Ġ= Ġpkg Mgr . get Launch Intent For Package ( PackageName ) ĊĠĠĠĠĠĠĠ Ġpkg Info . activities . filter Ġ{ Ġa Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! a . name . equals ( launch Intent . resolve Activity Info ( pkg Mgr , Ġ 0 ). name ) ĊĊĠĠĠĠĠĠĠ Ġ}. forEach Ġ{ Ġa Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . add ( a ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= Ġsuper . getView ( position , ĠconvertView , Ġparent ) ĊĠĠĠĠĠĠĠ Ġval Ġbtn Ġ= Ġret . findViewById ( R . id . lan uch _ activity _ button ) Ġas ĠButton ĊĊĠĠĠĠĠĠĠ Ġval Ġai Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġval Ġbtn Text Ġ= Ġcontext . resources . getString ( ai . label Res ) ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Button Ġtext : Ġ$ btn Text , Ġposition : Ġ$ position ") ĊĠĠĠĠĠĠĠ Ġbtn . text Ġ= Ġbtn Text ĊĠĠĠĠĠĠĠ Ġval Ġcls Ġ= ĠClass . forName Ġ( ai . name ) ĊĠĠĠĠĠĠĠ Ġbtn . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( activity , Ġcls ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . startActivity ( intent ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} Ċ }