/* * WakeupAlarmPrefs — 기상 알람 설정 persistence (SharedPreferences). * * 사용자가 "설정 탭" 에서 toggle on/off → 일어남 감지 시 빨간 팝업. * LYING 유지 시간 임계 (default 3 min) 도 함께. */ package com.medithings.vesiscan.services import android.content.Context import android.content.SharedPreferences object WakeupAlarmPrefs { private const val PREF_NAME = "wakeup_alarm_prefs" private const val KEY_ENABLED = "enabled" private const val KEY_LYING_DURATION_SEC = "lying_duration_sec" private var prefs: SharedPreferences? = null private fun ensure(context: Context): SharedPreferences { val p = prefs if (p != null) return p val newP = context.applicationContext.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) prefs = newP return newP } fun isEnabled(context: Context): Boolean = ensure(context).getBoolean(KEY_ENABLED, false) fun setEnabled(context: Context, enabled: Boolean) { ensure(context).edit().putBoolean(KEY_ENABLED, enabled).apply() } /** 일어남으로 인정하기 위한 직전 LYING 유지 시간 (초). default 180 = 3분. */ fun lyingDurationSec(context: Context): Int = ensure(context).getInt(KEY_LYING_DURATION_SEC, 180) fun setLyingDurationSec(context: Context, sec: Int) { ensure(context).edit().putInt(KEY_LYING_DURATION_SEC, sec).apply() } }