Skip to content

Commit 2dc0657

Browse files
authored
fix timer (#92)
* fix timer * chore * change version
1 parent 4ce8f5d commit 2dc0657

File tree

6 files changed

+23
-37
lines changed

6 files changed

+23
-37
lines changed

.github/workflows/build_and_test.yml

-8
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,6 @@ on:
77
branches: ["main", "staging"]
88

99
jobs:
10-
list-macos-versions:
11-
runs-on: ubuntu-latest
12-
steps:
13-
- name: Check available macOS versions
14-
run: |
15-
echo "Available macOS versions:"
16-
curl -s https://api.github.com/meta | jq -r '.runner | .macos'
17-
1810
build:
1911
name: Build and Test default scheme using any available iPhone simulator
2012
runs-on: macos-14

Derived/InfoPlists/DgWidget-Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<key>CFBundlePackageType</key>
1818
<string>XPC!</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>2.11.0</string>
20+
<string>2.10.0</string>
2121
<key>CFBundleVersion</key>
2222
<string>1</string>
2323
<key>NSExtension</key>

Derived/InfoPlists/app-Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<key>CFBundlePackageType</key>
1818
<string>APPL</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>2.11.0</string>
20+
<string>2.10.0</string>
2121
<key>CFBundleURLTypes</key>
2222
<array>
2323
<dict>

Project.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import ProjectDescription
33
let projectName = "dg-muscle-ios"
44
let widgetName = "DgWidget"
55
let bundleId = "com.donggyu.dg-muscle-ios"
6-
let appVersion: String = "2.11.0"
6+
let appVersion: String = "2.10.0"
77

88
enum Layer: String, CaseIterable {
99
case Domain

dg-muscle-ios/sources/Presentation/History/View/Form/Manage/ManageRecordViewModel.swift

+16-26
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ final class ManageRecordViewModel: ObservableObject {
2121
@Published var goal: Goal?
2222
@Published var strengthGoal: Goal?
2323
@Published var traingMode: Common.TrainingMode?
24-
@Published var lastSelectedTime: Int?
2524

2625
private let recordId: String
2726
private let getHeatMapColorUsecase: GetHeatMapColorUsecase
@@ -32,7 +31,6 @@ final class ManageRecordViewModel: ObservableObject {
3231
private let subscribeTrainingModeUsecase: SubscribeTrainingModeUsecase
3332
private let checkGoalAchievedUsecase: CheckGoalAchievedUsecase
3433
private let checkStrengthGoalAchievedUsecase: CheckStrengthGoalAchievedUsecase
35-
private let cancelExerciseTimerUsecase: CancelExerciseTimerUsecase
3634
private let registerExerciseTimerUsecase: RegisterExerciseTimerUsecase
3735
private var cancellables = Set<AnyCancellable>()
3836

@@ -62,7 +60,6 @@ final class ManageRecordViewModel: ObservableObject {
6260
subscribeTrainingModeUsecase = .init(userRepository: userRepository)
6361
checkGoalAchievedUsecase = .init()
6462
checkStrengthGoalAchievedUsecase = .init()
65-
cancelExerciseTimerUsecase = .init(exerciseTimerRepository: exerciseTimerRepository)
6663
registerExerciseTimerUsecase = .init(exerciseTimerRepository: exerciseTimerRepository)
6764

6865
let color: Common.HeatMapColor = .init(domain: getHeatMapColorUsecase.implement())
@@ -85,32 +82,25 @@ final class ManageRecordViewModel: ObservableObject {
8582
Common.PushNotificationManager.shared.delete(ids: ["ExerciseTimer\(i)"])
8683
}
8784

88-
if lastSelectedTime == time {
89-
cancelExerciseTimerUsecase.implement()
90-
lastSelectedTime = nil
91-
} else {
92-
if var date = Calendar.current.date(byAdding: .second, value: time, to: Date()) {
93-
registerExerciseTimerUsecase.implement(timer: .init(targetDate: date))
85+
if var date = Calendar.current.date(byAdding: .second, value: time, to: Date()) {
86+
registerExerciseTimerUsecase.implement(timer: .init(targetDate: date))
87+
88+
for i in (0..<10) {
89+
Common.PushNotificationManager.shared.register(
90+
title: "Ring Ring Ring...",
91+
body: "Tap to stop alarm",
92+
date: date,
93+
id: "ExerciseTimer\(i)",
94+
userInfo: [
95+
"type": "timer",
96+
"targetDate": date
97+
]
98+
)
9499

95-
for i in (0..<10) {
96-
Common.PushNotificationManager.shared.register(
97-
title: "Ring Ring Ring...",
98-
body: "Tap to stop alarm",
99-
date: date,
100-
id: "ExerciseTimer\(i)",
101-
userInfo: [
102-
"type": "timer",
103-
"targetDate": date
104-
]
105-
)
106-
107-
if let updatedDate = Calendar.current.date(byAdding: .second, value: 3, to: date) {
108-
date = updatedDate
109-
}
100+
if let updatedDate = Calendar.current.date(byAdding: .second, value: 3, to: date) {
101+
date = updatedDate
110102
}
111103
}
112-
113-
lastSelectedTime = time
114104
}
115105
}
116106

dg-muscle-ios/sources/Presentation/Main/View/NavigationViewModel.swift

+4
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import Foundation
99
import Domain
1010
import Combine
1111
import ExerciseTimer
12+
import Common
1213

1314
final class NavigationViewModel: ObservableObject {
1415
let subscribeExerciseTimerUsecase: SubscribeExerciseTimerUsecase
@@ -25,6 +26,9 @@ final class NavigationViewModel: ObservableObject {
2526

2627
func cancelTimer() {
2728
cancelExerciseTimerUsecase.implement()
29+
for i in (0..<10) {
30+
Common.PushNotificationManager.shared.delete(ids: ["ExerciseTimer\(i)"])
31+
}
2832
}
2933

3034
private func bind() {

0 commit comments

Comments
 (0)