Skip to content

Conversation

SeoHyeonSim
Copy link
Contributor

Describe your changes

  • 웹 기준, 앱이 실행되는 탭이 아닌 다른 탭으로 전환하거나, 창을 축소한 경우에도 타이머가 돌아감
  • 지정된 준비 시간 타이머가 모두 끝난 경우 타이머 정지 및 모달 표시 기능 작동 확인

@SeoHyeonSim SeoHyeonSim requested a review from jjoonleo May 17, 2025 10:39
@SeoHyeonSim SeoHyeonSim self-assigned this May 17, 2025
@SeoHyeonSim SeoHyeonSim linked an issue May 17, 2025 that may be closed by this pull request
Copy link

Visit the preview URL for this PR (updated for commit 1b396d3):

https://ontime-c63f1--pr264-260-jx5xfilt.web.app

(expires Sat, 24 May 2025 11:00:51 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 7d60a2eae4c4a5839220ed6a57552a3b61cce5a3

Copy link

Visit the preview URL for this PR (updated for commit 1b396d3):

https://on-time-front-widgetbook--pr264-260-mje9z4wl.web.app

(expires Sat, 24 May 2025 11:01:36 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: e53128a376fed0209d449279de9c0d94c83cdd8b

@jjoonleo
Copy link
Contributor

https://github.com/DevKor-github/OnTime-front/wiki/Git#types
새로운 state나 event를 추가하는 것은 commit message feat type이 더 적절할 것 같습니다.

@jjoonleo
Copy link
Contributor

백그라운드 실행이 어떠한 방식으로 구현되었는지 간략하게 설명부탁드려도 괜찮을까요?

@SeoHyeonSim
Copy link
Contributor Author

백그라운드 실행이 어떠한 방식으로 구현되었는지 간략하게 설명부탁드려도 괜찮을까요?

현재는 타이머가 돌아가기 시작한 시점을 기준으로 해서 경과 시간을 계산하고 있습니다.

  1. _stepStartTime에 현재 시각을 저장
  2. 지정된 남은 시간(duration)으로 ticker 시작.
  3. 초마다 '현재 시간'과 _stepStartTime의 차이(DateTime.now().difference(_stepStartTime!))를 계산해 '시작한 후로 얼마 지났는지'를 파악합니다.
  4. 이를 기준으로 다른 변수(현재 단계 남은 시간, 각 단계별 누적 시간, 전체 남은 시간, 진행률, 지각여부)들을 계산합니다.

@jjoonleo
Copy link
Contributor

jjoonleo commented Jun 1, 2025

그렇게 변수에 저장하면 앱을 껐다가 켜게 되면 값이 사라지지 않나요?

@SeoHyeonSim
Copy link
Contributor Author

그렇게 변수에 저장하면 앱을 껐다가 켜게 되면 값이 사라지지 않나요?

그래서 우선은 웹 기준으로 창을 줄이거나 새 탭을 열어서 나갔다 들어왔을 때, (즉 앱을 끄지 않은 상태에서 해당 사이트를 벗어났을 때) 기준으로 백그라운드가 돌아가게만 구현해 둔 상태입니다...
SharedPreferences 사용해서 앱 꺼도 상태 복원되도록 만드는 중이긴 해요.

@jjoonleo jjoonleo merged commit 996c2ff into main Jun 2, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

백그라운드 타이머 제작
2 participants