package Ġcom . dis posit ivos move is . rit ter flix . ui . login Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ Ċ class ĠLogin ViewModel ( context : ĠContext ): ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ email Ġ= ĠMutable LiveData < String >(" admin ") ĊĠĠĠ Ġprivate Ġval Ġ_ password Ġ= ĠMutable LiveData < String >(" admin ") ĊĊĠĠĠ Ġprivate Ġval ĠLOGIN _ PRE F Ġ= Ġ" login _ pref " ĊĠĠĠ Ġprivate Ġval ĠE MAIL _ PRE F Ġ= Ġ" email " ĊĠĠĠ Ġprivate Ġval ĠPASSWORD _ PRE F Ġ= Ġ" password " ĊĠĠĠ Ġprivate Ġvar Ġshared Preferences : ĠSharedPreferences ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Preferences Ġ= Ġcontext . get SharedPreferences ( LOGIN _ PRE F , ĠContext . MODE _ PRIVATE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġvalidate Credentials ( email : ĠString , Ġpassword : ĠString ) Ġ: ĠLive Data < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠisValid Credentials Ġ= ĠMutable LiveData < Boolean >() ĊĊĠĠĠĠĠĠĠ Ġif Ġ( email . equals (_ email . value ) Ġ&& Ġpassword . equals (_ password . value )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠisValid Credentials . post Value ( true ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠisValid Credentials . post Value ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠisValid Credentials ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Email From Prefs () Ġ: ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences ?. getString ( EMAIL _ PRE F , Ġ""). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Password From Prefs () Ġ: ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences ?. getString ( PASSWORD _ PRE F , Ġ""). toString () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġsave Login ( email : ĠString , Ġpassword : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġshared Preferences ?. edit () ĊĠĠĠĠĠĠĠ Ġeditor ?. putString ( EMAIL _ PRE F , Ġemail ) ĊĠĠĠĠĠĠĠ Ġeditor ?. putString ( PASSWORD _ PRE F , Ġpassword ) ĊĠĠĠĠĠĠĠ Ġeditor ?. apply () ĊĠĠĠ Ġ} Ċ }