From fe050808b45cf833c987baff678a5d3edde686f0 Mon Sep 17 00:00:00 2001 From: sanjeok77 Date: Thu, 12 Mar 2026 23:45:07 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=A9=94=EC=9D=B8=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20=EC=97=B0=EC=B0=A8=20=ED=91=9C=EC=8B=9C=20=ED=98=95=EC=8B=9D?= =?UTF-8?q?=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 정수일 때 정수로 표시 (22) - 0.5일 때 소숫점 표시 (21.5) - formatRemainingDays() 함수 추가 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- .../com/example/shiftalarm/MainActivity.kt | 35 ++++++++++++++++--- 1 file changed, 31 insertions(+), 4 deletions(-) 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) + } + } }