package Ġpl . by dg os z cz . guide me . pod le w acz . actions Ċ Ċ import Ġpl . by dg os z cz . guide me . pod le w acz . map pers . Item Ui Mapper Ċ import Ġpl . by dg os z cz . guide me . pod le w acz . repositories . Items Repository Ċ import Ġpl . by dg os z cz . guide me . pod le w acz . serialization . UserData Cache Ċ import Ġpl . by dg os z cz . guide me . pod le w acz . threads . run In Background Ċ import Ġpl . by dg os z cz . guide me . pod le w acz . threads . run On Ui Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠSave User Changes Ġ@ Inject Ġconstructor ( private Ġval Ġrepo : ĠItems Repository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval ĠuserData Cache : ĠUser Data Cache , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġf lower Mapper : ĠItem Ui Mapper ) Ġ{ ĊĠĠĠ Ġfun Ġsave ( on Finished : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun In Background Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ui Ġ= Ġrepo . user ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġf lower Mapper . map User Ui To User ( user Ui ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserData Cache . save ( user ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui ( on Finished ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }