package Ġred . pad raig . alarm app Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . location . Location Ċ Ċ class ĠSharedPreferences Wrapper ( val Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠSHARE D _ PRE FS _ TAG Ġ= Ġ" alarm Shared Prefs " ĊĠĠĠ Ġval ĠS NO O ZE _ STATE Ġ= Ġ" sn oo ze State " ĊĠĠĠ Ġval ĠS NO O ZE _ TIME Ġ= Ġ" sn oo ze Time " ĊĠĠĠ Ġval ĠNEXT _ ALARM _ TIME Ġ= Ġ" next Alarm Time " ĊĠĠĠ Ġval ĠS NO O ZE _ DURATION Ġ= Ġ" sn oo ze Duration " ĊĠĠĠ Ġval ĠLAT IT UDE Ġ= Ġ" lat " ĊĠĠĠ Ġval ĠLONG IT UDE Ġ= Ġ" lon " ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠINVALID _ TIME Ġ= Ġ- 1 L ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ S NO O ZE _ DURATION Ġ= Ġ 1 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Sn oo ze State ( state : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget SharedPreferences (). edit (). put Boolean ( S NO O ZE _ STATE , Ġstate ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Sn oo ze State (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget SharedPreferences (). getBoolean ( S NO O ZE _ STATE , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Sn oo ze Time ( time : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget SharedPreferences (). edit (). put Long ( S NO O ZE _ TIME , Ġtime ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Sn oo ze Time (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget SharedPreferences (). getLong ( S NO O ZE _ TIME , ĠINVALID _ TIME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Next Alarm Time ( time : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget SharedPreferences (). edit (). put Long ( NEXT _ ALARM _ TIME , Ġtime ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetNext Alarm Time (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget SharedPreferences (). getLong ( NEXT _ ALARM _ TIME , ĠINVALID _ TIME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Sn oo ze Duration ( time : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget SharedPreferences (). edit (). put Int ( S NO O ZE _ DURATION , Ġtime ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Sn oo ze Duration (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget SharedPreferences (). getInt ( S NO O ZE _ DURATION , ĠDEFAULT _ S NO O ZE _ DURATION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Coordinates ( location : ĠLocation ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġget SharedPreferences (). edit () ĊĠĠĠĠĠĠĠ Ġeditor . put Float ( LAT IT UDE , Ġlocation . latitude . toFloat ()) ĊĠĠĠĠĠĠĠ Ġeditor . put Float ( LONG IT UDE , Ġlocation . longitude . toFloat ()) ĊĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Coordinates (): ĠPair < Float , ĠFloat > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġget SharedPreferences () ĊĠĠĠĠĠĠĠ Ġreturn ĠPair ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . get Float ( LAT IT UDE , Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . get Float ( LONG IT UDE , Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget SharedPreferences (): ĠSharedPreferences Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . get SharedPreferences ( SHARED _ PRE FS _ TAG , ĠContext . MODE _ PRIVATE ) ĊĠĠĠ Ġ} Ċ Ċ }