/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 Ġå¤§ åīį èī¯ ä»ĭ Ġ( OH MA E ĠR y os uke ) Ċ Ġ* Ċ Ġ* ĠThis Ġsoftware Ġis Ġreleased Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ* Ġhttp :// opensource . org / licenses / MIT Ċ Ġ*/ Ċ Ċ package Ġnet . mm 2 d . preference Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . graphics . drawable . State List Drawable Ċ import Ġandroid . os . Build . VERSION Ċ import Ġandroid . os . Build . VERSION _ CODES Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . widget . Tint Typed Array Ċ Ċ internal Ġclass ĠHeader Adapter ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġobjects : ĠList < Header > Ċ ) Ġ: ĠArray Adapter < Header >( context , Ġ 0 , Ġobjects ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġinflater : ĠLayoutInflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠ Ġprivate Ġval Ġcolor Accent : ĠInt Ġ= Ġget Color Accent ( context ) ĊĊĠĠĠ Ġ@ Suppress Lint (" Restricted Api ") ĊĠĠĠ Ġprivate Ġfun Ġget Color Accent ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( VERSION . SDK _ INT Ġ>= ĠVERSION _ CODES . LO L LI POP ) Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠT int Typed Array . obtain Styled Attributes ( context , Ġnull , Ġint ArrayOf ( R . attr . color Accent )) ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . getColor ( 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . recycle () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( ĊĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠ ĠconvertView : ĠView ?, ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġholder : ĠViewHolder ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView ĊĊĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġinflater . inflate ( R . layout . mm 2 d _ pac _ header _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Background ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder Ġ= ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById ( R . id . icon ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById ( R . id . title ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById ( R . id . summary ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . tag Ġ= Ġholder ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= ĠconvertView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder Ġ= Ġview . tag Ġas ĠViewHolder ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġheader Ġ= ĠgetItem ( position ) Ġ?: Ġreturn Ġview ĊĠĠĠĠĠĠĠ Ġif Ġ( header . icon Res Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . icon . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . icon . setImage Resource ( header . icon Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġcontext . resources ĊĠĠĠĠĠĠĠ Ġholder . title . text Ġ= Ġheader . getTitle ( resources ) ĊĠĠĠĠĠĠĠ Ġval Ġsummary Ġ= Ġholder . summary ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġheader . get Summary ( resources ) ĊĠĠĠĠĠĠĠ Ġif Ġ( text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsummary . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsummary . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsummary . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Background ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( color Accent Ġ== Ġ 0 ) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= ĠState List Drawable (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( android . R . attr . state _ activated ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor Drawable ( color Accent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf (- android . R . attr . state _ activated ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor Drawable ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( VERSION . SDK _ INT Ġ>= ĠVERSION _ CODES . J EL LY _ BE AN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . background Ġ= Ġdrawable ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setBackground Drawable ( drawable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠViewHolder ( ĊĠĠĠĠĠĠĠ Ġval Ġicon : ĠImageView , ĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠTextView , ĊĠĠĠĠĠĠĠ Ġval Ġsummary : ĠTextView ĊĠĠĠ Ġ) Ċ } Ċ