v1.1.8 - 교육 근무 변경 시 상단 알람 표시 및 실제 알람 완전 유지

This commit is contained in:
sanjeok77
2026-08-17 16:52:40 +09:00
parent 8888150c84
commit d2f2e05d4c
6 changed files with 42 additions and 19 deletions
+2 -2
View File
@@ -20,8 +20,8 @@ android {
applicationId = "com.example.shiftalarm"
minSdk = 26
targetSdk = 35
versionCode = 117
versionName = "1.1.7"
versionCode = 118
versionName = "1.1.8"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
+5 -1
View File
@@ -1,8 +1,12 @@
# Changelog
## [1.1.8] - 2026-08-17
### Fixed
- **교육 근무 변경 시 상단 알람 표시 및 실제 알람 완전 유지**: 교육으로 변경해도 상단 오늘/내일 알람 시간이 정상 표시되고 원래 근무 알람이 그대로 울림
## [1.1.7] - 2026-08-17
### Fixed
- **교육 근무 변경 시 원래 근무 알람 울림 보장**: 달력에서 교육으로 근무를 변경해도 원래 근무(주간/석간/야간 등)의 알람이 정상적으로 울리도록 개선
- **교육 근무 변경 시 원래 근무 알람 완전 유지**: 달력에서 교육으로 변경해도 원래 근무 알람이 정상 울리고, 상단 오늘/내일 알람 시간 표시도 정상 유지
## [1.1.6] - 2026-08-15
### Fixed
@@ -524,8 +524,18 @@ class MainActivity : AppCompatActivity() {
val alarmTimes = mutableListOf<String>()
val isOff = shift == "휴무" || shift == "휴가"
// 교육으로 변경된 경우 원래 근무의 알람을 표시
val prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
val matchShift = if (shift == "교육") {
val team = prefs.getString(KEY_TEAM, "A") ?: "A"
val factory = prefs.getString("selected_factory", "Jeonju") ?: "Jeonju"
ShiftCalculator.getShift(date, team, factory)
} else {
shift
}
for (alarm in allAlarms) {
if (alarm.isEnabled && (alarm.shiftType == "기타" || (!isOff && alarm.shiftType == shift))) {
if (alarm.isEnabled && (alarm.shiftType == "기타" || (!isOff && alarm.shiftType == matchShift))) {
if (!alarmTimes.contains(alarm.time)) {
alarmTimes.add(alarm.time)
}
@@ -733,8 +743,15 @@ class MainActivity : AppCompatActivity() {
syncAllAlarms(this)
android.widget.Toast.makeText(this, "${selected}로 설정되었습니다. 알람이 해제됩니다.", android.widget.Toast.LENGTH_SHORT).show()
}
"교육" -> {
// 교육은 원래 근무 알람을 유지
repo.setOverride(date, selected, team, factory)
updateCalendar()
syncAllAlarms(this)
android.widget.Toast.makeText(this, "교육으로 기록되었습니다. 원래 근무 알람이 유지됩니다.", android.widget.Toast.LENGTH_SHORT).show()
}
else -> {
// New Types: 월차, 연차, 반월, 반년, 교육 -> Saved as Override with no time
// New Types: 월차, 연차, 반월, 반년 -> Saved as Override with no time
repo.setOverride(date, selected, team, factory)
// 연차 계산을 먼저 수행하고 달력 업데이트
repo.updateRemainingAnnualLeave()