package Ġio . ex zo coin . wallet . modules . markdown Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġio . ex zo coin . wallet . R Ċ import Ġio . ex zo coin . views . inflate Ċ Ċ class ĠMarkdown Content Adapter ( private Ġval Ġlistener : ĠListener , Ġprivate Ġval Ġhandle Relative Url : ĠBoolean ) Ġ: ĠList Adapter < Markdown Block , ĠMarkdown Block ViewHolder >( diff Callback ) Ġ{ ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( url : ĠString ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ= Ġwhen Ġ( getItem ( position )) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠMarkdown Block . Heading 1 Ġ-> ĠR . layout . view _ holder _ markdown _ h 1 ĊĠĠĠĠĠĠĠ Ġis ĠMarkdown Block . Heading 2 Ġ-> ĠR . layout . view _ holder _ markdown _ h 2 ĊĠĠĠĠĠĠĠ Ġis ĠMarkdown Block . Heading 3 Ġ-> ĠR . layout . view _ holder _ markdown _ h 3 ĊĠĠĠĠĠĠĠ Ġis ĠMarkdown Block . Paragraph Ġ-> ĠR . layout . view _ holder _ markdown _ paragraph ĊĠĠĠĠĠĠĠ Ġis ĠMarkdown Block . Image Ġ-> ĠR . layout . view _ holder _ markdown _ image ĊĠĠĠĠĠĠĠ Ġis ĠMarkdown Block . Footer Ġ-> ĠR . layout . view _ holder _ markdown _ footer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMarkdown Block ViewHolder Ġ= Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠR . layout . view _ holder _ markdown _ h 1 Ġ-> ĠViewHolder H 1 ( inflate ( parent , Ġview Type )) ĊĠĠĠĠĠĠĠ ĠR . layout . view _ holder _ markdown _ h 2 Ġ-> ĠViewHolder H 2 ( inflate ( parent , Ġview Type )) ĊĠĠĠĠĠĠĠ ĠR . layout . view _ holder _ markdown _ h 3 Ġ-> ĠViewHolder H 3 ( inflate ( parent , Ġview Type )) ĊĠĠĠĠĠĠĠ ĠR . layout . view _ holder _ markdown _ paragraph Ġ-> ĠViewHolder Paragraph ( inflate ( parent , Ġview Type ), Ġlistener , Ġhandle Relative Url ) ĊĠĠĠĠĠĠĠ ĠR . layout . view _ holder _ markdown _ image Ġ-> ĠViewHolder Image ( inflate ( parent , Ġview Type )) ĊĠĠĠĠĠĠĠ ĠR . layout . view _ holder _ markdown _ footer Ġ-> ĠViewHolder Footer ( inflate ( parent , Ġview Type )) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠException (" Undefined Ġview Type : Ġ$ view Type ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMarkdown Block ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdiff Callback Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < Markdown Block >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠMarkdown Block , Ġnew Item : ĠMarkdown Block ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠMarkdown Block , Ġnew Item : ĠMarkdown Block ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ