package Ġco . net guru . b aby . monitor . client . feature . client . home . log Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġco . net guru . b aby . monitor . client . R Ċ import Ġco . net guru . b aby . monitor . client . common . Date Provider Ċ import Ġco . net guru . b aby . monitor . client . common . view . Base ViewHolder Ċ import Ġco . net guru . b aby . monitor . client . data . client . home . log . Log Data Ċ import Ġkotlinx . android . synt hetic . main . item _ log _ activity _ header .* Ċ import Ġkotlinx . android . synt hetic . main . item _ log _ activity _ record .* Ċ import Ġorg . th reet en . bp . LocalDateTime Ċ import Ġorg . th reet en . bp . temporal . Ch rono Unit Ċ Ċ abstract Ġclass ĠLogs ViewHolder ( ĊĠĠĠ Ġval Ġparent : ĠViewGroup , ĊĠĠĠ Ġview Type : ĠInt Ċ ) Ġ: ĠBase ViewHolder < Log Data >( ĊĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( view Type , Ġparent , Ġfalse ) Ċ ) Ġ{ ĊĊĠĠĠ Ġclass ĠData Logs ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ) Ġ: ĠLogs ViewHolder ( parent , Ġview Type ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( item : ĠLog Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhour Before Ġ= ĠLocalDateTime . now (). minus Hours ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠLog Data . Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Activity Log Action Tv . text Ġ= Ġitem . action ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġminutes Ago Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( HOUR _ IN _ MIN UTES Ġ- Ġhour Before . until ( item . time Stamp , ĠCh rono Unit . MIN UTES )). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Activity Log Action Timestamp Tv . text Ġ= Ġif Ġ( item . time Stamp . is After ( hour Before )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . context . resources . get Quantity String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . plurals . minutes _ ago , Ġminutes Ago , Ġminutes Ago ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . time Stamp . format ( Date Provider . time Stamp Formatter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠHeader ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ) Ġ: ĠLogs ViewHolder ( parent , Ġview Type ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( item : ĠLog Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtoday Ġ= ĠDate Provider . mid night ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġyesterday Ġ= ĠDate Provider . y ester days Mid night ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase Text Ġ= Ġitem . time Stamp . format ( Date Provider . header Formatter ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Activity Log Header Tv . text Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . time Stamp . is After ( today ) Ġ-> ĠitemView . context . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . date _ today , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . time Stamp . is After ( y esterday ) Ġ-> ĠitemView . context . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . date _ y esterday , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġbase Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠEnd Text Holder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ) Ġ: ĠLogs ViewHolder ( parent , Ġview Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( item : ĠLog Data ) Ġ= ĠUnit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHO UR _ IN _ MIN UTES Ġ= Ġ 6 0 ĊĠĠĠ Ġ} Ċ } Ċ