package Ġio . github . ken ney code . fusion . demo Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . github . ken ney code . fusion . demo . Simple Activity . Companion . KEY _ SAMPLE _ INDEX Ċ import Ġio . github . ken ney code . fusion . util . Bitmap Util Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġio . github . ken ney code . fusion . util . Utils ĊĊĊĊ Ċ /** Ċ Ġ* Ċ Ġ* ĠCode d Ġby Ġk enn ey Ċ Ġ* Ċ Ġ* Ġhttp :// www . github . com / ken ney code / fusion Ċ Ġ* Ċ Ġ* Ġfusion Ġdemo Ċ Ġ* Ċ Ġ*/ Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ ĠBitmap Util . context Ġ= Ġapplication Context ĊĠĠĠĠĠĠĠ ĠUtils . copy Assets Files ( this , Ġ" test . mp 4 ", Ġ"/ sd card / test . mp 4 ") ĊĠĠĠĠĠĠĠ Ġcheck Permissions () ĊĠĠĠĠĠĠĠ Ġval Ġsamples List Ġ= ĠfindViewById < RecyclerView >( R . id . list ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġlayout Manager . orientation Ġ= ĠLinearLayoutManager . VERTICAL ĊĠĠĠĠĠĠĠ Ġsamples List . layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠ Ġsamples List . adapter Ġ= ĠMy Adapter () ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġcheck Permissions () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpermissions Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġif Ġ( Context Compat . check Self Permission ( application , ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ) Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpermissions . add ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Context Compat . check Self Permission ( application , ĠManifest . permission . CAMERA ) Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpermissions . add ( Manifest . permission . CAMERA ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( permissions . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( this , Ġpermissions . to Typed Array (), Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠMy Adapter Ġ: ĠRecyclerView . Adapter < VH >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( p 0 : ĠViewGroup , Ġp 1 : ĠInt ): ĠV H Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( p 0 . context ). inflate ( R . layout . layout _ sample _ list _ item , Ġp 0 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠV H ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSimple Activity . samples . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( p 0 : ĠV H , Ġp 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . button . text Ġ= ĠgetString ( Simple Activity . samples [ p 1 ]. first !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ MainActivity , ĠSimple Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( KEY _ SAMPLE _ INDEX , Ġp 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠV H ( item View Ġ: ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġbutton Ġ: ĠButton Ġ= ĠitemView . findViewById ( R . id . button ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ