package Ġedu . hm . pe de map . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġedu . hm . pe de map . R Ċ import Ġedu . hm . pe de map . model . entity .* Ċ import Ġedu . hm . pe de map . util . format For Log Ċ import Ġjava . util .* Ċ Ċ class ĠLog View Adapter ( var Ġentries : ĠMutable List < Log Entity >, Ġprivate Ġval Ġctx : ĠContext ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Log ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠLog ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . log _ view _ item _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠLog ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġentries . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLog ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġentries [ position ] ĊĊĠĠĠĠĠĠĠ Ġ// ĠLog Ġlevel Ġmapping ĊĠĠĠĠĠĠĠ Ġval Ġlabel Ġ= Ġwhen Ġ( entry . level ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOG _ LEVEL _ DEBUG Ġ-> ĠLogLevel Label ( ctx . getString ( R . string . log _ level _ debug ), Ġ 0 xff 3 3 3 3 3 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOG _ LEVEL _ INFO Ġ-> ĠLogLevel Label ( ctx . getString ( R . string . log _ level _ info ), Ġ 0 xff 4 2 bcf 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOG _ LEVEL _ WARN Ġ-> ĠLogLevel Label ( ctx . getString ( R . string . log _ level _ warn ), Ġ 0 xffff ae 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOG _ LEVEL _ ERROR Ġ-> ĠLogLevel Label ( ctx . getString ( R . string . log _ level _ error ), Ġ 0 xfff 5 5 7 4 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠLogLevel Label ( ctx . getString ( R . string . unknown ), Ġ 0 xff 0 0 0 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . level . text Ġ= Ġlabel . text ĊĠĠĠĠĠĠĠ Ġholder . level . setTextColor ( label . color . toInt ()) ĊĠĠĠĠĠĠĠ Ġholder . category . text Ġ= Ġentry . category ĊĠĠĠĠĠĠĠ Ġholder . timestamp . text Ġ= ĠDate ( entry . timestamp Ġ* Ġ 1 _ 0 0 0 ). format For Log () ĊĠĠĠĠĠĠĠ Ġholder . message . text Ġ= Ġentry . message . replace (" ;", Ġ"\ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġdata Ġclass ĠLogLevel Label ( val Ġtext : ĠString , Ġval Ġcolor : ĠLong ) Ċ } Ċ Ċ class ĠLog ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġval Ġlevel Ġ= Ġview . findViewById < TextView >( R . id . log _ view _ log _ level ) ĊĠĠĠ Ġval Ġtimestamp Ġ= Ġview . findViewById < TextView >( R . id . log _ view _ timestamp ) ĊĠĠĠ Ġval Ġcategory Ġ= Ġview . findViewById < TextView >( R . id . log _ view _ category ) ĊĠĠĠ Ġval Ġmessage Ġ= Ġview . findViewById < TextView >( R . id . log _ view _ message ) Ċ } Ċ