package Ġaf kt . project . ui . adapter . concat Ċ Ċ import Ġaf kt . project . R Ċ import Ġaf kt . project . databinding . Adapter Concat Shape able Image Binding Ċ import Ġaf kt . project . model . bean . Shape able Image Bean Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . google . android . material . shape . Corner Family Ċ import Ġcom . google . android . material . shape . Relative Corner Size Ċ import Ġcom . google . android . material . shape . Rounded Corner T reatment Ċ import Ġcom . google . android . material . shape . Shape Appearance Model Ċ import Ġdev . adapter . Dev Data Adapter Ċ import Ġdev . base . adapter . Dev Base View Binding VH Ċ import Ġdev . base . adapter . new Binding ViewHolder Ċ import Ġdev . engine . Dev Engine Ċ import Ġdev . utils . app . Resource Utils Ċ Ċ /** Ċ Ġ* Ġdetail : ĠShape able Image ĠAdapter Ċ Ġ* Ġ@ author ĠT tt Ċ Ġ*/ Ċ class ĠShape able Image Concat Adapter ( data : ĠList < Shape able Image Bean >) Ġ: ĠDev Data Adapter < Shape able Image Bean , ĠDev Base View Binding VH < Adapter Concat Shape able Image Binding >>() Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset DataList ( data , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠDev Base View Binding VH < Adapter Concat Shape able Image Binding > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnew Binding ViewHolder ( parent , ĠR . layout . adapter _ concat _ shape able _ image ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( ĊĠĠĠĠĠĠĠ Ġholder : ĠDev Base View Binding VH < Adapter Concat Shape able Image Binding >, ĊĠĠĠĠĠĠĠ Ġposition : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetData Item ( position ) ĊĊĠĠĠĠĠĠĠ ĠDev Engine . getImage ()?. display ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . vid Iv , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . imageUrl ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ Ġ// Ġ åľĨ å½¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . vid Iv . shape Appearance Model Ġ= ĠShape Appearance Model . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set All C orners ( Rounded Corner T reatment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set All Corner Sizes ( Relative Corner Size ( 0 . 5 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ Ġ// Ġ åľĨ è§Ĵ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . vid Iv . shape Appearance Model Ġ= ĠShape Appearance Model . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set All C orners ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Family . RO UN DED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Utils . get Dimension ( R . dim en . un _ dp _ 3 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ Ġ// Ġæ ° ´ æ» ´ å½¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . vid Iv . shape Appearance Model Ġ= ĠShape Appearance Model . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set All C orners ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Family . RO UN DED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Utils . get Dimension ( R . dim en . un _ dp _ 2 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Top Right Corner Size ( Relative Corner Size ( 0 . 7 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Top Left Corner Size ( Relative Corner Size ( 0 . 7 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġ{ Ġ// Ġ åı ¶ åŃĲ å½¢ çĬ¶ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . vid Iv . shape Appearance Model Ġ= ĠShape Appearance Model . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Top Right Corner ( Corner Family . RO UN DED , ĠRelative Corner Size ( 0 . 5 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Bottom Left Corner ( Corner Family . RO UN DED , ĠRelative Corner Size ( 0 . 5 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . adapter _ concat _ shape able _ image ĊĠĠĠ Ġ} Ċ }