package Ġcom . make app ss imple . ab him any u . finance manager . android . data . emoji . repository Ċ Ċ import Ġcom . make app ss imple . ab him any u . finance manager . android . Build Config Ċ import Ġcom . make app ss imple . ab him any u . finance manager . android . data . emoji . datasource . local . Emoji Dao Ċ import Ġcom . make app ss imple . ab him any u . finance manager . android . data . emoji . datasource . remote . Emoji Api Ċ import Ġcom . make app ss imple . ab him any u . finance manager . android . entities . emoji . Emoji Ċ import Ġcom . make app ss imple . ab him any u . finance manager . android . entities . emoji . Emoji Local Entity Ċ import Ġkotlinx . coroutines . flow . Flow Ċ Ċ class ĠEmoji Repository Impl ( ĊĠĠĠ Ġprivate Ġval Ġemoji Dao : ĠEmoji Dao , Ċ ) Ġ: ĠEmoji Repository Ġ{ ĊĠĠĠ Ġoverride Ġval Ġemo jis : ĠFlow < List < Emoji Local Entity >> Ġ= Ġemoji Dao . get E moj is () ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget E moj is Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġemoji Dao . get E moj is Count () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Emoji ( ĊĠĠĠĠĠĠĠ Ġcharacter : ĠString , ĊĠĠĠ Ġ): ĠEmoji Local Entity ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġemoji Dao . get Emoji ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcharacter Ġ= Ġcharacter , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Emoji ( ĊĠĠĠĠĠĠĠ Ġemoji : ĠEmoji Local Entity , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġemoji Dao . insert Emoji ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Ġ= Ġemoji , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert E moj is ( ĊĠĠĠĠĠĠĠ Ġvar arg Ġemo jis : ĠEmoji Local Entity , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġemoji Dao . insert E moj is ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemo jis Ġ= Ġemo jis , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete Emoji ( ĊĠĠĠĠĠĠĠ Ġcharacter : ĠString , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġemoji Dao . delete Emoji ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcharacter Ġ= Ġcharacter , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete E moj is ( ĊĠĠĠĠĠĠĠ Ġvar arg Ġemo jis : ĠEmoji Local Entity , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġemoji Dao . delete E moj is ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemo jis Ġ= Ġemo jis , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġget E moj is Data From Remote (): ĠList < Emoji > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEmoji Api ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ret rofit Service ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get E moj is ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccess Key Ġ= ĠBuild Config . OPEN _ E MO JI _ KEY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. distinct By Ġ{ Ġemoji Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemoji . code Point ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġemoji Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! emoji . unicode Name . contains (" skin Ġtone ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġsave E moj is To Database () Ġ{ ĊĠĠĠĠĠĠĠ Ġget E moj is Data From Remote (). forEach Ġ{ Ġemoji Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Dao . insert Emoji ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Ġ= ĠEmoji Local Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Ġ= Ġemoji , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete All E moj is () Ġ{ ĊĠĠĠĠĠĠĠ Ġemoji Dao . delete All E moj is () ĊĠĠĠ Ġ} Ċ } Ċ