package Ġnet . ash ish b . check device credentials Ċ Ċ import Ġandroid . content . Context Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . io . IOException Ċ Ċ private Ġval Ġshared Preference Name Ġ= Ġ" key _ info " Ċ private Ġval Ġkey Create Shared Preference Key Ġ= Ġ" key _ created " Ċ Ċ fun Ġhas Created Key ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġcontext . get SharedPreferences ( shared Preference Name , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. getBoolean ( key Create Shared Preference Key , Ġfalse ) Ċ } Ċ Ċ fun Ġset Has Created Key ( context : ĠContext , Ġvalue : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġcontext . get SharedPreferences ( shared Preference Name , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. edit (). put Boolean ( key Create Shared Preference Key , Ġvalue ). commit () Ċ } Ċ Ċ fun Ġsave Data ( context : ĠContext , Ġencrypted Data File : ĠString , Ġdata : ĠByteArray ?): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Message ( context , Ġ" data Ġis Ġnull ") ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( context . files Dir , Ġencrypted Data File ) ĊĠĠĠĠĠĠĠ Ġval Ġf os Ġ= ĠFileOutputStream ( file ) ĊĠĠĠĠĠĠĠ Ġf os . write ( data ) ĊĠĠĠĠĠĠĠ Ġf os . close () ĊĠĠĠĠĠĠĠ Ġshow Message ( context , Ġ" Saved Ġdata Ġto Ġ" Ġ+ Ġfile . absolute Path ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Message ( context , Ġe . toString ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġread Data ( context : ĠContext , ĠfileName : ĠString ): ĠByteArray Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFile ( context . files Dir , ĠfileName ) ĊĠĠĠ Ġval Ġfis Ġ= ĠFileInputStream ( file ) ĊĠĠĠ Ġfis . use Ġ{ Ġx Ġ-> Ġreturn Ġx . read Bytes () Ġ} Ċ }