package Ġtech . abd 3 l ra ou f . work . datastore with rx java 3 Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . datastore . core . DataStore Ċ import Ġandroidx . datastore . create DataStore Ċ import Ġandroidx . datastore . rx java 3 . data Ċ import Ġandroidx . datastore . rx java 3 . update Data Async Ċ import Ġio . reactivex . rx java 3 . core . Flow able Ċ import Ġio . reactivex . rx java 3 . core . Single Ċ Ċ class ĠMessage Repo ( context : ĠContext ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdata Store : ĠData Store < Message Preferences > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . create DataStore ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfileName Ġ= Ġ" message - preferences . pb ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠMessage Preferences Serializer ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Message ( new Content : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Store . update Data Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . to Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent ( new Content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSingle . just ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmessage (): ĠFlow able < String > Ġ= Ġdata Store . data (). map Ġ{ Ġit . content Ġ} Ċ }