package Ġwidgets Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . example . dee zer . R Ċ Ċ class ĠCustom Track List Header ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: ĊĠĠĠ ĠConstraint Layout ( context , Ġattrs ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcover IV : ĠImageView ĊĠĠĠ Ġprivate Ġvar Ġartist Name TV : ĠTextView ĊĠĠĠ Ġprivate Ġvar Ġalbum Name TV : ĠTextView ĊĠĠĠ Ġprivate Ġvar Ġis Album Explicit Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġexplicit TV : ĠTextView ĊĠĠĠ Ġprivate Ġvar Ġalbum Release Date Y v : ĠTextView ĊĠĠĠ Ġprivate Ġvar Ġattributes : ĠTyped Array ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinf late ( context , ĠR . layout . custom _ track _ list _ header _ view , Ġthis ) ĊĠĠĠĠĠĠĠ Ġcover IV Ġ= ĠfindViewById ( R . id . album _ cover _ iv ) ĊĠĠĠĠĠĠĠ Ġartist Name TV Ġ= ĠfindViewById ( R . id . artist _ name _ tv ) ĊĠĠĠĠĠĠĠ Ġalbum Name TV Ġ= ĠfindViewById ( R . id . album _ name _ tv ) ĊĠĠĠĠĠĠĠ Ġalbum Release Date Y v Ġ= ĠfindViewById ( R . id . album _ release _ date _ tv ) ĊĠĠĠĠĠĠĠ Ġexplicit TV Ġ= ĠfindViewById ( R . id . is _ explicit _ tv ) ĊĊĠĠĠĠĠĠĠ Ġattributes Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Custom Track List Header ) ĊĠĠĠĠĠĠĠ Ġset Views () ĊĠĠĠĠĠĠĠ Ġattributes . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġis Album Explicit Ġ= Ġattributes . getBoolean ( R . style able . Custom Track List Header _ explicit , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġcover IV . setImage Drawable ( attributes . get Drawable ( R . style able . Custom Track List Header _ cover )) ĊĠĠĠĠĠĠĠ Ġartist Name TV . text Ġ= Ġattributes . getString ( R . style able . Custom Track List Header _ artist ) ĊĠĠĠĠĠĠĠ Ġalbum Name TV . text Ġ= Ġattributes . getString ( R . style able . Custom Track List Header _ album ) ĊĠĠĠĠĠĠĠ Ġalbum Release Date Y v . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes . getString ( R . style able . Custom Track List Header _ release _ date ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Album Explicit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexplicit TV . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexplicit TV . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} Ċ }