package Ġcom . ned alu of . mi h awk . mi util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . datastore . core . DataStore Ċ import Ġandroidx . datastore . preferences . SharedPreferences Migration Ċ import Ġandroidx . datastore . preferences . core . Preferences Ċ import Ġandroidx . datastore . preferences . preferences DataStore Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . ned alu of . mi h awk . mi encryption . Mi Encryption Ċ import Ġcom . ned alu of . mi h awk . mi encryption . Mi Encryption Impl Ċ import Ġcom . ned alu of . mi h awk . mi encryption . Mi No Encryption Ċ import Ġcom . ned alu of . mi h awk . mi logger . Mi Logger Ċ import Ġcom . ned alu of . mi h awk . mi logger . Mi Logger Impl Ċ import Ġcom . ned alu of . mi h awk . mi logger . Mi UnitTest Logger Impl Ċ import Ġcom . ned alu of . mi h awk . mip references . Mi Preferences Ċ import Ġcom . ned alu of . mi h awk . mip references . Mi Preferences Impl Ċ import Ġcom . ned alu of . mi h awk . mip re paration . Mi Pre paration Ċ import Ġcom . ned alu of . mi h awk . mip re paration . Mi Pre paration Impl Ċ import Ġcom . ned alu of . mi h awk . mis erial izer . Mi Serializer Ċ import Ġcom . ned alu of . mi h awk . mis erial izer . Mi Serializer Impl Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠN ed alu Of Ġon Ġ 1 1 / 1 2 / 2 0 2 1 . Ċ Ġ*/ Ċ object ĠMi Service Locator Ġ{ ĊĠ Ġfun Ġprovide Mi Logger (): ĠMi Logger Ġ= ĠMi Logger Impl ĊĠ Ġfun Ġprovide Mi UnitTest Logger (): ĠMi Logger Ġ= ĠMi UnitTest Logger Impl ĊĠ Ġfun Ġprovide Mi Preferences ( context : ĠContext ): ĠMi Preferences Ġ= ĠMi Preferences Impl ( context ) ĊĠ Ġfun Ġprovide Mi Pre paration ( context : ĠContext ): ĠMi Pre paration Ġ= ĊĠĠĠ ĠMi Pre paration Impl ( provide Mi Serializer (), Ġprovide Mi Encryption ( context )) ĊĊĠĠ Ġprivate Ġfun Ġprovide Mi Serializer (): ĠMi Serializer Ġ= ĠMi Serializer Impl ( Gson ()) ĊĠĠ Ġprivate Ġfun Ġprovide Mi Encryption ( context : ĠContext ): ĠMi Encryption Ġ{ ĊĠĠĠ Ġvar Ġencryption : ĠMi Encryption Ġ= ĠMi Encryption Impl ( context ) ĊĠĠĠ Ġif Ġ(! encryption . initialized ()) Ġ{ ĊĠĠĠĠĠ Ġencryption Ġ= ĠMi No Encryption () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġencryption ĊĠ Ġ} ĊĊĠ Ġfun Ġprovide DataStore ( context : ĠContext ) Ġ= Ġcontext . data Store ĊĊĠ Ġprivate Ġval ĠContext . data Store : ĠData Store < Preferences > Ġby Ġpreferences DataStore ( ĊĠĠĠ Ġname Ġ= ĠMi Constants . STORAGE _ TAG _ DO _ NOT _ CHANGE , ĊĠĠĠ Ġproduce Migrations Ġ= Ġ:: shared Preferences Migration ĊĠ Ġ) ĊĊĠ Ġprivate Ġfun Ġshared Preferences Migration ( context : ĠContext ) Ġ= ĊĠĠĠ ĠlistOf ( SharedPreferences Migration ( context , ĠMi Constants . STORAGE _ TAG _ DO _ NOT _ CHANGE )) Ċ }