package Ġcom . zoom car . u ikit . b anners Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroidx . annotation . Attr Res Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . zoom car . util . get Null Check Ċ import Ġcom . zoom car . util . isValid Ċ import Ġcom . zoom car . util . load Image Ċ import Ġcom . zoom car . zoom d ls . databinding . Layout Ill ustration Banner Binding Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ Ċ /** Ċ Ġ* Ġ@ created Ġ 2 1 / 1 0 / 2 0 2 0 Ġ- Ġ 1 1 : 2 4 ĠAM Ċ Ġ* Ġ@ project ĠZoom car Ċ Ġ* Ġ@ author ĠSh ish ir Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠZoom car . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ class ĠZ Ill ustration Banner Ġ: ĠConstraint Layout Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠLayout Ill ustration Banner Binding ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs : ĠAttributeSet ? ĊĠĠĠ Ġ) Ġ: Ġsuper ( context , Ġattrs ) ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs : ĠAttributeSet , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Attr Res Ġdef Style Attr : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠLayout Ill ustration Banner Binding . inflate ( in flater , Ġthis , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetData ( data : ĠIll ustration Banner UI Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . imageUrl . isValid () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . image Banner . load Image ( data . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . image Res . get Null Check () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . image Banner . setImage Resource ( data . image Res !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . image Banner . setImage Drawable ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . text Title . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġdata . title . isValid () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġdata . title ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . text Description . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġdata . description . isValid () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġdata . description ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġdata Ġclass ĠIll ustration Banner UI Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageUrl : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Res : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdescription : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: ĠParcel able Ċ }