package Ġcom . g gu . av d . data Ċ Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . room . Column Info Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . PrimaryKey Ċ import Ġcom . g gu . av d . utilities . AV D _ COMMON _ TYPE Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* ĊĊ Ċ @ Entity ( tableName Ġ= Ġ" types ") Ċ class ĠAv d Type ( ĊĠĠĠĠĠĠĠ Ġ@ PrimaryKey Ġvar Ġtype : ĠString , ĊĠĠĠĠĠĠĠ Ġvar Ġav d Type Ġ: Int Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġinsert Date : ĠString Ġ= ĠgetCurrent Time () ĊĊĠĠĠ Ġprivate Ġfun ĠgetCurrent Time (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠdateFormat Ġ= ĠSimpleDateFormat (" yyyy MM dd HH mm ss SSSS ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġval Ġcal : ĠCalendar Ġ= ĠCalendar . getInstance ( Locale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠdateFormat . format ( cal . time ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdiff Callback Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < Av d Type >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠAv d Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠAv d Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . type Ġ== Ġnew Item . type ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠAv d Type , Ġnew Item : ĠAv d Type ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . type Ġ== Ġnew Item . type Ġ&& Ġold Item . av d Type Ġ== Ġnew Item . av d Type ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ