diff --git a/app.apk b/app.apk index 5bb1250..c1e5e37 100644 Binary files a/app.apk and b/app.apk differ diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 12773e9..ff32746 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -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" } diff --git a/app/src/main/assets/CHANGELOG.md b/app/src/main/assets/CHANGELOG.md index 58e439f..7c9e180 100644 --- a/app/src/main/assets/CHANGELOG.md +++ b/app/src/main/assets/CHANGELOG.md @@ -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 diff --git a/app/src/main/java/com/example/shiftalarm/MainActivity.kt b/app/src/main/java/com/example/shiftalarm/MainActivity.kt index a5a204b..448445b 100644 --- a/app/src/main/java/com/example/shiftalarm/MainActivity.kt +++ b/app/src/main/java/com/example/shiftalarm/MainActivity.kt @@ -524,8 +524,18 @@ class MainActivity : AppCompatActivity() { val alarmTimes = mutableListOf() 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() diff --git a/scratch/release.py b/scratch/release.py index 06204d0..1106ccd 100755 --- a/scratch/release.py +++ b/scratch/release.py @@ -6,14 +6,16 @@ import shutil token = "e3b515eaa0a6683c921ca3bf718e281ed30a6075" owner_repo = "sanjeok77/ShiftRing" -tag = "v1.1.7" -title = "v1.1.7 - 교육 근무 변경 시 원래 근무 알람 울림 보장" -body = """## 🚀 ShiftRing v1.1.7 릴리즈 +tag = "v1.1.8" +title = "v1.1.8 - 교육 근무 변경 시 상단 알람 표시 및 실제 알람 완전 유지" +body = """## 🚀 ShiftRing v1.1.8 릴리즈 ### 🐛 버그 수정 -1. **⏰ 교육 근무 변경 시 원래 근무 알람 울림 보장 (`AlarmUtils.kt`, `AlarmSyncManager.kt`)**: - - 달력에서 근무를 '교육'으로 변경해도 원래 근무(주간/석간/야간 등)의 알람이 정상적으로 울리도록 개선 - - `syncAllAlarms`, `addAlarm`, `updateAlarm`, `syncAllAlarmsWithCheck` 4곳 모두 일관되게 적용""" +1. **⏰ 교육 근무 변경 시 알람 완전 유지 (`MainActivity.kt`, `AlarmUtils.kt`, `AlarmSyncManager.kt`)**: + - 달력에서 교육으로 변경해도 상단 오늘/내일 알람 시간이 정상 표시 + - 원래 근무(주간/석간/야간 등) 알람이 그대로 울림 + - 토스트 메시지: "교육으로 기록되었습니다. 원래 근무 알람이 유지됩니다." + - 교육을 월차/연차 등과 분리하여 독립 처리""" apk_path = "app/build/outputs/apk/release/app-release.apk" if not os.path.exists(apk_path): @@ -47,10 +49,10 @@ shutil.copy2(apk_path, "app.apk") print("Updated app.apk at project root.") v_info = { - "versionCode": 117, - "versionName": "1.1.7", + "versionCode": 118, + "versionName": "1.1.8", "apkUrl": direct_url, - "changelog": "v1.1.7: 교육 근무 변경 시 원래 근무 알람 울림 보장", + "changelog": "v1.1.8: 교육 근무 변경 시 상단 알람 표시 및 실제 알람 완전 유지", "forceUpdate": False } with open("version.json", "w", encoding="utf-8") as f: @@ -61,7 +63,7 @@ print(f"Updated version.json with apkUrl: {direct_url}") git_path = r"C:\Users\work\AppData\Roaming\MobaXterm\slash\mx86_64b\bin" os.environ["PATH"] = git_path + os.pathsep + os.environ.get("PATH", "") -commit_msg = "v1.1.7 - 교육 근무 변경 시 원래 근무 알람 울림 보장" +commit_msg = "v1.1.8 - 교육 근무 변경 시 상단 알람 표시 및 실제 알람 완전 유지" subprocess.run(["git", "add", "."], check=True) subprocess.run(["git", "commit", "-m", commit_msg], check=True) subprocess.run(["git", "push", "origin", "main"], check=True) diff --git a/version.json b/version.json index d466c7e..967e586 100644 --- a/version.json +++ b/version.json @@ -1,7 +1,7 @@ { - "versionCode": 117, - "versionName": "1.1.7", - "apkUrl": "https://git.webpluss.net/attachments/2d4f017d-18af-4cb0-80fa-c0d978847067", - "changelog": "v1.1.7: 교육 근무 변경 시 원래 근무 알람 울림 보장", + "versionCode": 118, + "versionName": "1.1.8", + "apkUrl": "https://git.webpluss.net/attachments/219203d6-2f0f-4e23-984d-438f96c7d193", + "changelog": "v1.1.8: 교육 근무 변경 시 상단 알람 표시 및 실제 알람 완전 유지", "forceUpdate": false } \ No newline at end of file