package Ġcom . ri ku 1 2 2 7 . spo iler d Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . method . Scrolling Movement Method Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . InputStream Reader Ċ import Ġjava . lang . Exception Ċ Ċ class ĠLibrary Data Adapter Ġ( private Ġval Ġcontext : ĠContext , private Ġval Ġlicence List : ĠArrayList < Library Data >): ĠRecyclerView . Adapter < Library Data Adapter . Companion . Library Data ViewHolder >() Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠLibrary Data ViewHolder ( view : ĠView ): ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlibrary Name : ĠTextView Ġ= Ġview . findViewById ( R . id . library Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlibrary Lic ence Button : ĠButton Ġ= Ġview . findViewById ( R . id . library Lic ence Button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlicence Text : ĠTextView Ġ= Ġview . findViewById ( R . id . licence Text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠLibrary Data ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinf late Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . recycler _ licence _ card , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠLibrary Data ViewHolder ( inflate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlicence List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLibrary Data ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . library Name . text Ġ= Ġlicence List [ position ]. library Name ĊĠĠĠĠĠĠĠ Ġholder . library Lic ence Button . text Ġ= Ġlicence List [ position ]. library Lic ence Name ĊĠĠĠĠĠĠĠ Ġval Ġlicence Text Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlicence Text File Ġ= Ġcontext . assets . open ( licence List [ position ]. library Lic ence FileName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffered Reader Ġ= ĠBufferedReader ( InputStream Reader ( licence Text File )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuffered Reader . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . read Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Error " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . licence Text . text Ġ= Ġlicence Text ĊĠĠĠĠĠĠĠ Ġholder . licence Text . movement Method Ġ= ĠScroll ing Movement Method . getInstance () ĊĠĠĠĠĠĠĠ Ġholder . library Lic ence Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( holder . licence Text . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . licence Text . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . licence Text . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }