package Ġcom . co oper the coder . apk scan . scan results Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . co oper the coder . apk scan . R Ċ import Ġcom . co oper the coder . apk scan . types . Installed App Info Ċ import Ġcom . co oper the coder . apk scan . types . Section Name Ċ import Ġio . github . lu iz grp . section ed recyclerview adapter . Section ed RecyclerView Adapter Ċ import Ġkotlinx . android . synt hetic . main . fragment _ scan _ area .* Ċ Ċ class ĠScan Tab Fragment Ġ: ĠFragment ( R . layout . fragment _ scan _ area ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠINST ALLED _ APP _ INFO Ġ= Ġ" installed _ app _ info " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSECTION _ NAME Ġ= Ġ" section _ name " ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( section Name : ĠString , Ġinstalled App Info : ĠInstalled App Info ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠScan Tab Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( SECTION _ NAME , Ġsection Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Parcelable ( INST ALLED _ APP _ INFO , Ġinstalled App Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstalled App Info Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Arguments (). get Parcelable < Installed App Info >( INST ALLED _ APP _ INFO ) !! ĊĠĠĠĠĠĠĠ Ġval Ġsection Name Ġ= Ġrequire Arguments (). getString ( SECTION _ NAME ) !! ĊĠĠĠĠĠĠĠ Ġcontent RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠSection ed RecyclerView Adapter () ĊĠĠĠĠĠĠĠ Ġcontent RecyclerView . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( section Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . APP _ INFO Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( App Flags Section ( installed App Info . app Flags )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . ACTIV ITIES Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( Activity Section ( installed App Info . activities )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . SERVICES Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( Service Section ( installed App Info . services )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . RECE IVER S Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( Receiver Section ( installed App Info . re ceiv ers )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . PRO VID ERS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( Provider Section ( installed App Info . providers )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . FILES Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( File Section ( installed App Info . public Files )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . SHARED _ LIBRARIES Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( Shared Library Section ( installed App Info . shared Libraries )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . PERMISSION S Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( Permission Section ( installed App Info . permissions )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSection Name . NATIVE _ LIB ARIES Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Section ( Native Library Section ( installed App Info . native Libraries )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException ("$ section Name Ġis Ġnot Ġa Ġvalid ĠSection ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }