package Ġeu . kan ade . t ach iy omi . ui . browse . anime extension . details Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġeu . kan ade . t ach iy omi . R Ċ import Ġeu . kan ade . t ach iy omi . databinding . Extension Detail Header Binding Ċ import Ġeu . kan ade . t ach iy omi . ui . browse . anime extension . getApplication Icon Ċ import Ġeu . kan ade . t ach iy omi . util . system . Locale Helper Ċ import Ġkotlinx . coroutines . flow . launch In Ċ import Ġkotlinx . coroutines . flow . on Each Ċ import Ġreactive circ us . flow binding . android . view . click s Ċ Ċ class ĠAn ime Extension Details Header Adapter ( private Ġval Ġpresenter : ĠAn ime Extension Details Presenter ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < An ime Extension Details Header Adapter . Header ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠExtension Detail Header Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠHeader ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠExtension Detail Header Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠHeader ViewHolder ( binding . root ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠHeader ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠHeader ViewHolder ( private Ġval Ġview : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextension Ġ= Ġpresenter . extension Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġview . context ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġextension . getApplication Icon ( context )?. let Ġ{ Ġbinding . icon . setImage Drawable ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . title . text Ġ= Ġextension . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . version . text Ġ= Ġcontext . getString ( R . string . ext _ version _ info , Ġextension . version Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . lang . text Ġ= Ġcontext . getString ( R . string . ext _ language _ info , ĠLocale Helper . getSource DisplayName ( extension . lang , Ġcontext )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . ns fw . isVisible Ġ= Ġextension . is N sf w ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . pkg name . text Ġ= Ġextension . pkg Name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . btn Un install . click s () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Each Ġ{ Ġpresenter . uninstall Extension () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. launch In ( presenter . presenter Scope ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( extension . is Obsolete ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . warning Banner . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . warning Banner . setText ( R . string . ob solete _ extension _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( extension . is Un official ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . warning Banner . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . warning Banner . setText ( R . string . un official _ extension _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ