package Ġcom . parse us . codec info . adapters Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroidx . fragment . app . Fragment Transaction Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . parse us . codec info . R Ċ import Ġcom . parse us . codec info . bind Ċ import Ġcom . parse us . codec info . codec info . Codec Simple Info Ċ import Ġcom . parse us . codec info . fragments . Codec Details Dialog Fragment Ċ import Ġcom . parse us . codec info . fragments . Codec Details Fragment Ċ import Ġcom . parse us . codec info . inflate Ċ import Ġcom . parse us . codec info . isIn Two Pane Mode Ċ Ċ class ĠCodec Adapter ( private Ġval Ġcodec List : ĠList < Codec Simple Info >) Ġ: ĠRecyclerView . Adapter < Codec Adapter . Codec Info ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCodec Info ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfl ated View Ġ= Ġparent . inflate ( R . layout . codec _ adapter _ row ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCodec Info ViewHolder ( in fl ated View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCodec Info ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcodec Info Item Ġ= Ġcodec List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . bind Codec Info ( codec Info Item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġcodec List . size ĊĊĠĠĠ Ġclass ĠCodec Info ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlayout Ġby Ġview . bind < View >( R . id . simple Codec Row ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcodec Id Ġby Ġview . bind < TextView >( R . id . codec _ name ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcodec Name Ġby Ġview . bind < TextView >( R . id . codec _ full _ name ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcodec Type Ġby Ġview . bind < TextView >( R . id . codec _ type ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmore Info Ġby Ġview . bind < TextView >( R . id . more _ info ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind Codec Info ( codec Info : ĠCodec Simple Info ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcodec Id . text Ġ= Ġcodec Info . codec Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcodec Name . text Ġ= Ġcodec Info . codec Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcodec Type . text Ġ= ĠitemView . resources . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( codec Info . is Encoder ) ĠR . string . encoder Ġelse ĠR . string . decoder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item View . context . isIn Two Pane Mode ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmore Info . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdetails Fragment Ġ= Ġif Ġ( item View . context . isIn Two Pane Mode ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCodec Details Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCodec Details Dialog Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" codec Id ", Ġcodec Info . codec Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" codec Name ", Ġcodec Info . codec Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetails Fragment . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġ( layout . context Ġas ĠFragment Activity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item View . context . isIn Two Pane Mode ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . support FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . codec Details Fragment , Ġdetails Fragment ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġactivity . support FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . set Transition ( Fragment Transaction . TRANS IT _ FRAGMENT _ OPEN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . add ( android . R . id . content , Ġdetails Fragment ). addTo Back Stack ( null ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }