v1.2.4: Deprecation 경고 수정 및 삭제 알람 버그 수정

This commit is contained in:
2026-02-23 12:48:37 +09:00
parent 161cc8060d
commit fdcbb615ab
5 changed files with 52 additions and 14 deletions

View File

@@ -78,6 +78,14 @@ class AlarmActivity : AppCompatActivity() {
// 알람 시작 (화면 상태와 무관하게 항상 실행)
startAlarm()
// 마스터 알람이 꺼져있으면 알람 화면을 즉시 종료
val prefs = getSharedPreferences("ShiftAlarmPrefs", Context.MODE_PRIVATE)
if (!ShiftAlarmDefaults.isMasterAlarmEnabled(prefs)) {
Toast.makeText(this, "전체 알람이 꺼져있습니다.", Toast.LENGTH_SHORT).show()
finish()
return
}
setupControls()
// 5분 후 자동 스누즈
@@ -209,6 +217,7 @@ class AlarmActivity : AppCompatActivity() {
val dx = event.rawX - startX
if (abs(dx) > maxSwipe * 0.8f) {
// Trigger Dismiss
@Suppress("DEPRECATION")
(getSystemService(Context.VIBRATOR_SERVICE) as? Vibrator)?.vibrate(50)
Toast.makeText(this, "알람 해제 완료", Toast.LENGTH_SHORT).show()
stopAlarm(); finish()
@@ -247,6 +256,7 @@ class AlarmActivity : AppCompatActivity() {
}
private fun handleSnooze() {
@Suppress("DEPRECATION")
(getSystemService(Context.VIBRATOR_SERVICE) as? Vibrator)?.vibrate(50)
val snoozeRepeat = intent.getIntExtra("EXTRA_SNOOZE_REPEAT", 3)
val text = if (snoozeRepeat == 99) "다시 울림 설정됨" else "다시 울림 (${snoozeRepeat}회 남음)"
@@ -274,21 +284,25 @@ class AlarmActivity : AppCompatActivity() {
else android.provider.Settings.System.DEFAULT_ALARM_ALERT_URI
}
// AudioAttributes 강화: 화면 켜진 상태에서도 알람음이 울리도록
// AudioAttributes 강화: 무음/진동 모드에서도 알람음이 울리도록
val audioAttrs = AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED) // 볼륨 강제 적용
.setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED)
.build()
// AudioManager를 통해 알람 볼륨 설정
// AudioManager를 통해 알람 볼륨 설정 및 무음 모드 우회
val audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager
val originalVolume = audioManager.getStreamVolume(AudioManager.STREAM_ALARM)
val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM)
// 무음 모드에서도 알람음이 울리도록 STREAM_ALARM 사용 (벨소리와 독립)
// 알람 스트림은 다른 스트림과 달리 무음 모드에서도 울림
val originalRingerMode = audioManager.ringerMode
// 알람 볼륨을 최대로 설정 (사용자가 나중에 조정 가능)
try {
val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM)
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, maxVolume, 0)
Log.d("AlarmActivity", "알람 볼륨 설정: $maxVolume (RingerMode: $originalRingerMode)")
} catch (e: Exception) {
Log.w("AlarmActivity", "알람 볼륨 설정 실패", e)
}