diff --git a/app/src/main/java/com/example/shiftalarm/MainActivity.kt b/app/src/main/java/com/example/shiftalarm/MainActivity.kt index 2c48493..ef51849 100644 --- a/app/src/main/java/com/example/shiftalarm/MainActivity.kt +++ b/app/src/main/java/com/example/shiftalarm/MainActivity.kt @@ -203,7 +203,16 @@ class MainActivity : AppCompatActivity() { syncAllAlarms(this@MainActivity) } - // 연차 정보 업데이트 + // 연차 정보 업데이트 + lifecycleScope.launch { + val repo = ShiftRepository(this@MainActivity) + val annualLeave = repo.getAnnualLeave() + annualLeave?.let { + binding.tvAnnualLeave.text = "연차: ${formatRemainingDays(it.remainingDays)}" + } ?: run { + binding.tvAnnualLeave.text = "연차: --" + } + } lifecycleScope.launch { val repo = ShiftRepository(this@MainActivity) val annualLeave = repo.getAnnualLeave() @@ -334,7 +343,13 @@ class MainActivity : AppCompatActivity() { binding.tvAnnualLeave.text = "연차: ${String.format("%.1f", it.remainingDays)}" } ?: run { binding.tvAnnualLeave.text = "연차: --" - } + // Update Annual Leave display + val annualLeave = withContext(Dispatchers.IO) { repo.getAnnualLeave() } + annualLeave?.let { + binding.tvAnnualLeave.text = "연차: ${formatRemainingDays(it.remainingDays)}" + } ?: run { + binding.tvAnnualLeave.text = "연차: --" + } } updateOtherTeamsLayout(today, factory, prefs) } @@ -706,6 +721,18 @@ class MainActivity : AppCompatActivity() { Toast.makeText(this, "⚠️ 루팅된 기기에서 시각적 오류나 알람 불안정이 발생할 수 있습니다.", Toast.LENGTH_LONG).show() } } - - + /** + * 남은 연차 표시 형식 개선 + * - 정수면 정수로 표시 (예: 22) + * - 소숫점 있으면 소숫점 표시 (예: 21.5) + */ + private fun formatRemainingDays(days: Float): String { + return if (days == days.toInt().toFloat()) { + // 정수인 경우 + days.toInt().toString() + } else { + // 소숫점이 있는 경우 (0.5 등) + String.format("%.1f", days) + } + } }