package Ġcom . cas ual apps . m yn otes . data . repo . auth Ċ Ċ import Ġcom . cas ual apps . platform . prefs . App Prefs Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠP refs Auth State Repository Ġ@ Inject Ġconstructor ( private Ġval Ġapp Prefs : ĠApp Prefs ) Ġ: ĊĠĠĠ ĠAuth State Repository Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠUSER _ ID _ KEY Ġ= Ġ" user _ id " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġlogin ( userId : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Prefs . set Long ( USER _ ID _ KEY , ĠuserId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget LoggedIn User (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp Prefs . getLong ( USER _ ID _ KEY , Ġ- 1 L ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġlogout () Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Prefs . set Long ( USER _ ID _ KEY , Ġ- 1 L ) ĊĠĠĠ Ġ} Ċ }