package Ġcom . in fin um . db inspector . ui . shared . views . editor Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . Sp anned Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . in fin um . db inspector . R Ċ import Ġcom . in fin um . db inspector . databinding . D bins pector Item Keyword Binding Ċ Ċ internal Ġclass ĠKeyword Adapter ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġkeywords : ĠList < Keyword >, ĊĠĠĠ Ġprivate Ġval Ġspan Factory : ĠKeyword Span Factory Ċ ) Ġ: ĠArray Adapter < Keyword >( context , ĠR . layout . db inspector _ item _ keyword , ĠR . id . keyword View , Ġkeywords ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠconvertView ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD bins pector Item Keyword Binding . bind ( it ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD bins pector Item Keyword Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠgetItem ( position )?. let Ġ{ Ġkeyword Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkeyword View . setBackground Resource ( keyword . type . background Res Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkeyword View . setTextColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( keyword View . context , Ġkeyword . type . textColor Res Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkeyword View . text Ġ= Ġcreate Sp ann able ( keyword ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Database Keywords ( keywords : ĠList < Keyword >) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd All ( keywords ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Sp ann able ( keyword : ĠKeyword ) Ġ= ĊĠĠĠĠĠĠĠ ĠSp ann able String ( keyword . value ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan Factory . find Spans ( keyword . type ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Span ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkeyword . value . length , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp anned . SPAN _ EXCL USIVE _ EXCL USIVE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ