package Ġcom . demo . ant iz ha . ui . activity Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . text . format . Formatter Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroid . widget . Expand able ListView . On Child ClickListener Ċ import Ġandroid . widget . Expand able ListView . On Group ClickListener Ċ import Ġcom . demo . ant iz ha . R Ċ import Ġcom . demo . ant iz ha . databinding . Activity App Selected Binding Ċ import Ġcom . demo . ant iz ha . ui . Hi Core Ċ import Ġcom . demo . ant iz ha . util . App Util Ċ import Ġcom . demo . ant iz ha . util . App Util . App Info Bean ĊĊ Ċ class ĠApp Ex Selected Adapter ( val Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġtitles : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġapp Groups : ĠArrayList < List < App Info Bean >>) Ġ: ĊĠĠĠ ĠBase Expand able ListAdapter () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlayout : ĠLayoutInflater Ġ= ĠLayoutInflater . from ( context ) ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠApp Holder ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġiv Icon : ĠImageView Ġ= Ġview . findViewById ( R . id . app _ icon ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv AppName : ĠTextView Ġ= Ġview . findViewById ( R . id . tv _ app _ name ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv Version : ĠTextView Ġ= Ġview . findViewById ( R . id . tv _ app _ version ) ĊĠĠĠĠĠĠĠ Ġvar Ġiv Can Select : ĠImageView Ġ= Ġview . findViewById ( R . id . iv _ can select ) ĊĠĠĠĠĠĠĠ Ġvar Ġiv C ant Select : ĠImageView Ġ= Ġview . findViewById ( R . id . iv _ cant select ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset Data ( titles : ĠList < String >, Ġapp Groups : ĠArrayList < List < App Info Bean >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . titles Ġ= Ġtitles ĊĠĠĠĠĠĠĠ Ġthis . app Groups Ġ= Ġapp Groups ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child ( group : ĠInt , Ġidx : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp Groups [ group ][ idx ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child Id ( group : ĠInt , Ġidx : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġidx . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child View ( group : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidx : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Last Child : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠView ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠconvertView Ġ= Ġview ĊĠĠĠĠĠĠĠ Ġval Ġapp Holder : ĠApp Holder ĊĠĠĠĠĠĠĠ Ġval Ġapp Info Bean Ġ= Ġapp Groups [ group ][ idx ] ĊĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠconvertView Ġ= Ġlayout . inflate ( R . layout . recyclerview _ app _ select , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder Ġ= ĠApp Holder ( convert View ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠconvertView . tag Ġ= Ġapp Holder ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder Ġ= ĠconvertView . tag Ġas ĠApp Holder ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġapp Icon Ġ= Ġapp Info Bean . app Icon ĊĠĠĠĠĠĠĠ Ġif Ġ( app Icon Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv Icon . setImage Drawable ( app Icon ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġapp Holder . tv AppName . text Ġ= Ġapp Info Bean . appName ĊĠĠĠĠĠĠĠ Ġval Ġformat FileSize : ĠString Ġ= ĠFormatter . format FileSize ( Hi Core . app , Ġapp Info Bean . size ) ĊĠĠĠĠĠĠĠ Ġapp Holder . tv Version . text Ġ= Ġ" çīĪæľ¬ :${ app Info Bean . version } Ġ Ġ| Ġ Ġ$ format FileSize " ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Info Bean . size Ġ> Ġ 2 0 9 7 1 5 2 0 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv Can Select . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv C ant Select . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Info Bean . selected Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv Can Select . setImage Resource ( R . mip map . checkbox _ checked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv Can Select . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv C ant Select . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv Can Select . setImage Resource ( R . mip map . checkbox _ unchecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv Can Select . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Holder . iv C ant Select . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠconvertView !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Children Count ( i : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp Groups [ i ]. size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Group ( i : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtitles [ i ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Group Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtitles . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget GroupId ( i : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġi . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Group View ( group : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Expanded : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠView ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Group : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠconvertView Ġ= Ġview ĊĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠconvertView Ġ= Ġlayout . inflate ( R . layout . app _ select _ tip , Ġview Group , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ( convert View !!. findViewById < View >( R . id . tv _ l able ) Ġas ĠTextView ). text Ġ= Ġtitles [ group ] ĊĠĠĠĠĠĠĠ Ġreturn ĠconvertView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Stable Ids (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Child Selectable ( i : ĠInt , Ġi 2 : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠApp Selected Activity Ġ: ĠBase Activity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSELECT _ TYPE Ġ= Ġ" select _ type " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSELECT _ MAX Ġ= Ġ" extra _ select _ limit " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSELECT _ CURRENT Ġ= Ġ" extra _ select _ now " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġinfo Binding : ĠActivity App Selected Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapp Selected Adapter : ĠApp Ex Selected Adapter ĊĠĠĠ Ġprivate Ġvar Ġselected Count : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġcan Select : ĠInt Ġ= Ġ 9 ĊĠĠĠ Ġprivate Ġvar Ġtitles : ĠArrayList < String > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġval Ġapp Groups : ĠArrayList < List < App Info Bean >> Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġval Ġapps : ĠArrayList < App Info Bean > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġval Ġapp Selected : ĠArrayList < App Info Bean > Ġ= ĠArrayList () ĊĊĠĠĠ Ġoverride Ġfun Ġinit Page () Ġ{ ĊĠĠĠĠĠĠĠ Ġinfo Binding Ġ= ĠActivity App Selected Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( info Binding . root ) ĊĠĠĠĠĠĠĠ Ġinfo Binding . pi Title . tv Title . text Ġ= Ġ" éĢīæĭ© APP åºĶçĶ¨ " ĊĠĠĠĠĠĠĠ Ġinfo Binding . pi Title . iv Right . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġselected Count Ġ= Ġintent . getInt Extra ( SELECT _ CURRENT , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġselect Max Ġ= Ġintent . getInt Extra ( SELECT _ MAX , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( select Max Ġ!= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcan Select Ġ= Ġselect Max ĊĠĠĠĠĠĠĠ Ġcan Select Ġ-= Ġselected Count ĊĠĠĠĠĠĠĠ Ġinit Apps () ĊĠĠĠĠĠĠĠ Ġinfo Binding . pi Title . iv Back . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( RESULT _ C ANCE LED , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinfo Binding . btn Report . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( RESULT _ OK , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . put Parcelable ArrayList Extra (" app ", Ġapp Selected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Apps () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Progress Dialog (" åĬłè½½ ä¸Ń ...", Ġtrue ) ĊĠĠĠĠĠĠĠ ĠHandler ( Looper . get Main Looper ()). post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! this . is Finish ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitles . add (" æľª å®īè£ħ å®īè£ħ åĮħ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitles . add (" å·² å®īè£ħ åºĶçĶ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Groups . add ( ArrayList ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp Infos Ġ= ĠApp Util . getApp infos () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( app Ġin Ġapp Infos ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp . selected Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Groups . add ( app Infos ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapps . addAll ( app Infos ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Progress Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}, Ġ 5 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Selected Adapter Ġ= ĠApp Ex Selected Adapter ( this , Ġtitles , Ġapp Groups ) ĊĠĠĠĠĠĠĠ Ġinfo Binding . recyclerview App . setAdapter ( app Selected Adapter ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġtitles . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Binding . recyclerview App . expand Group ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinfo Binding . recyclerview App . setOn Group ClickListener ( On Group Click . on Group Click ) ĊĠĠĠĠĠĠĠ Ġinfo Binding . recyclerview App . setOn Child ClickListener ( On Child Click ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġselect App ( app Info Bean : ĠApp Info Bean , ĠAdapter : ĠApp Ex Selected Adapter ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( app Info Bean . size Ġ> Ġ 2 0 9 7 1 5 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" 2 0 0 M ä»¥ä¸Ĭ æĸĩä»¶ ä¸įåı¯ éĢīæĭ© ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! app Info Bean . selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( can Select Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset Select () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( app Selected . size Ġ== Ġcan Select ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" æľĢ å¤ļ éĢīæĭ© " Ġ+ Ġcan Select Ġ+ Ġ" ä¸ª ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Selected . add ( app Info Bean ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Info Bean . selected Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Selected . remove ( app Info Bean ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Info Bean . selected Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠAdapter . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreset Select () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( group Ġin Ġapp Groups ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( app Ġin Ġgroup ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp . selected Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġapp Selected Adapter . reset Data ( titles , Ġapp Groups ) ĊĠĠĠĠĠĠĠ Ġapp Selected . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠOn Group Click Ġprivate Ġconstructor () Ġ: ĠOn Group ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Group Click ( expand able ListView : ĠExpand able ListView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Group Click Ġ= ĠOn Group Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠOn Child Click Ġinternal Ġconstructor () Ġ: ĠOn Child ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Child Click ( expand able ListView : ĠExpand able ListView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect App ( app Groups [ group ][ pos ], Ġapp Selected Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }