package Ġcom . pand ul ape ter . be agle . core . view . network Log Detail . list Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . pand ul ape ter . be agle . core . R Ċ Ċ internal Ġclass ĠNetwork Log Detail Adapter ( ĊĠĠĠ Ġprivate Ġval Ġon Header Clicked : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġon Item Clicked : Ġ( Int ) Ġ-> ĠUnit Ċ ) Ġ: ĠList Adapter < Network Log Detail ListItem , ĠRecyclerView . ViewHolder >( object Ġ: ĠDiff Util . Item Callback < Network Log Detail ListItem >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠNetwork Log Detail ListItem , Ġnew Item : ĠNetwork Log Detail ListItem ) Ġ= Ġold Item . line Index Ġ== Ġnew Item . line Index ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠNetwork Log Detail ListItem , Ġnew Item : ĠNetwork Log Detail ListItem ) Ġ= Ġold Item Ġ== Ġnew Item ĊĊĠĠĠ Ġoverride Ġfun Ġget Change Payload ( old Item : ĠNetwork Log Detail ListItem , Ġnew Item : ĠNetwork Log Detail ListItem ) Ġ= Ġ"" Ċ }) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ) Ġ= Ġwhen Ġ( getItem ( position )) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠMetadata Details ViewHolder . Ui Model Ġ-> ĠR . layout . be agle _ item _ network _ log _ detail _ metadata _ details ĊĠĠĠĠĠĠĠ Ġis ĠMetadata Header ViewHolder . Ui Model Ġ-> ĠR . layout . be agle _ item _ network _ log _ detail _ metadata _ header ĊĠĠĠĠĠĠĠ Ġis ĠLine ViewHolder . Ui Model Ġ-> ĠR . layout . be agle _ item _ network _ log _ detail _ line ĊĠĠĠĠĠĠĠ Ġis ĠTitle ViewHolder . Ui Model Ġ-> ĠR . layout . be agle _ item _ network _ log _ detail _ title ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unsupported Ġitem Ġtype Ġat Ġposition Ġ$ position .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ= Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠR . layout . be agle _ item _ network _ log _ detail _ metadata _ details Ġ-> ĠMetadata Details ViewHolder . create ( parent ) ĊĠĠĠĠĠĠĠ ĠR . layout . be agle _ item _ network _ log _ detail _ metadata _ header Ġ-> ĠMetadata Header ViewHolder . create ( parent , Ġon Header Clicked ) ĊĠĠĠĠĠĠĠ ĠR . layout . be agle _ item _ network _ log _ detail _ line Ġ-> ĠLine ViewHolder . create ( parent , Ġon Item Clicked ) ĊĠĠĠĠĠĠĠ ĠR . layout . be agle _ item _ network _ log _ detail _ title Ġ-> ĠTitle ViewHolder . create ( parent ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unsupported Ġview Ġtype : Ġ$ view Type .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ= Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠMetadata Details ViewHolder Ġ-> Ġholder . bind ( getItem ( position ) Ġas ĠMetadata Details ViewHolder . Ui Model ) ĊĠĠĠĠĠĠĠ Ġis ĠMetadata Header ViewHolder Ġ-> Ġholder . bind ( getItem ( position ) Ġas ĠMetadata Header ViewHolder . Ui Model ) ĊĠĠĠĠĠĠĠ Ġis ĠLine ViewHolder Ġ-> Ġholder . bind ( getItem ( position ) Ġas ĠLine ViewHolder . Ui Model ) ĊĠĠĠĠĠĠĠ Ġis ĠTitle ViewHolder Ġ-> Ġholder . bind ( getItem ( position ) Ġas ĠTitle ViewHolder . Ui Model ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unsupported Ġview Ġholder Ġtype Ġat Ġposition Ġ$ position .") ĊĠĠĠ Ġ} Ċ }