package Ġcom . se th ch him . kub oo _ client . data . task . recent Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . se th ch him . kub oo _ client . Extensions . recent List To Book List Ċ import Ġcom . se th ch him . kub oo _ client . Extensions . to Book Ċ import Ġcom . se th ch him . kub oo _ client . Extensions . to Recent Ċ import Ġcom . se th ch him . kub oo _ client . data . App Database Dao Ċ import Ġcom . se th ch him . kub oo _ client . data . task . base . Task _ Local Base Ċ import Ġcom . se th ch him . kub oo _ remote . model . Book Ċ import Ġcom . se th ch him . kub oo _ remote . model . Login Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠTask _ Recent Insert ( login : ĠLogin , Ġbook : ĠBook , Ġset Time Ac cessed : ĠBoolean ) Ġ: ĠTask _ Local Base () Ġ{ ĊĊĠĠĠ Ġinternal Ġval Ġlive Data Ġ= ĠMutable LiveData < List < Book >>() ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! book . is B anned From Recent ()) Ġexec utors . disk IO . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( setTime Ac cessed ) Ġbook . setTime Ac cessed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( book . is Com ic ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġapp Database Dao . delete All That Match Series ( book ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġapp Database Dao . delete All That Match Book ( book ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Database Dao . insert Recent ( book . to Recent ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Recent Ġinsert : Ġtitle [ ${ book . title }] Ġ ĠcurrentPage [ ${ book . currentPage }] Ġbook Mark [ ${ book . book Mark }] ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġapp Database Dao . getAll Book Recent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . server Ġ== Ġlogin . server Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Descending Ġ{ Ġit . time Ac cessed Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. recent List To Book List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexec utors . main Thread . execute Ġ{ Ġlive Data . value Ġ= Ġresult Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e (" message [ ${ e . message }] Ġtitle [ ${ book . title }] ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexec utors . main Thread . execute Ġ{ Ġlive Data . value Ġ= Ġnull Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠApp Database Dao . delete All That Match Book ( book : ĠBook ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetAll Book Recent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġbook . is Match ( it . to Book ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġapp Database Dao . delete Recent ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠApp Database Dao . delete All That Match Series ( book : ĠBook ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetAll Book Recent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġbook . is Match Xml Id ( it . to Book ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġapp Database Dao . delete Recent ( it ) Ġ} ĊĠĠĠ Ġ} Ċ Ċ }