File tree Expand file tree Collapse file tree 6 files changed +22
-40
lines changed
feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/viewModel
feature_goals/src/main/java/com/example/util/simpletimetracker/feature_goals/viewModel
feature_pomodoro/src/main/java/com/example/util/simpletimetracker/feature_pomodoro/timer/viewModel
feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/viewModel
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/viewModel
feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/viewModel Expand file tree Collapse file tree 6 files changed +22
-40
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,6 @@ import com.example.util.simpletimetracker.navigation.params.screen.ChangeRunning
4141import com.example.util.simpletimetracker.navigation.params.screen.ChangeTagData
4242import dagger.hilt.android.lifecycle.HiltViewModel
4343import kotlinx.coroutines.Job
44- import kotlinx.coroutines.cancelAndJoin
4544import kotlinx.coroutines.delay
4645import kotlinx.coroutines.isActive
4746import kotlinx.coroutines.launch
@@ -248,8 +247,8 @@ class ChangeRunningRecordViewModel @Inject constructor(
248247 }
249248
250249 private fun startUpdate () {
250+ timerJob?.cancel()
251251 timerJob = viewModelScope.launch {
252- timerJob?.cancelAndJoin()
253252 while (isActive) {
254253 updatePreview()
255254 // Update split preview only if it is visible
@@ -262,9 +261,7 @@ class ChangeRunningRecordViewModel @Inject constructor(
262261 }
263262
264263 private fun stopUpdate () {
265- viewModelScope.launch {
266- timerJob?.cancelAndJoin()
267- }
264+ timerJob?.cancel()
268265 }
269266
270267 companion object {
Original file line number Diff line number Diff line change @@ -25,7 +25,6 @@ import com.example.util.simpletimetracker.navigation.params.screen.DateTimeDialo
2525import com.example.util.simpletimetracker.navigation.params.screen.DateTimeDialogType
2626import dagger.hilt.android.lifecycle.HiltViewModel
2727import kotlinx.coroutines.Job
28- import kotlinx.coroutines.cancelAndJoin
2928import kotlinx.coroutines.delay
3029import kotlinx.coroutines.isActive
3130import kotlinx.coroutines.launch
@@ -140,8 +139,8 @@ class GoalsViewModel @Inject constructor(
140139 }
141140
142141 private fun startUpdate () {
142+ timerJob?.cancel()
143143 timerJob = viewModelScope.launch {
144- timerJob?.cancelAndJoin()
145144 while (isActive) {
146145 updateStatistics()
147146 delay(TIMER_UPDATE )
@@ -150,9 +149,7 @@ class GoalsViewModel @Inject constructor(
150149 }
151150
152151 private fun stopUpdate () {
153- viewModelScope.launch {
154- timerJob?.cancelAndJoin()
155- }
152+ timerJob?.cancel()
156153 }
157154
158155 private fun updatePosition (newPosition : Int ) {
Original file line number Diff line number Diff line change @@ -20,7 +20,6 @@ import com.example.util.simpletimetracker.navigation.Router
2020import com.example.util.simpletimetracker.navigation.params.screen.PomodoroSettingsParams
2121import dagger.hilt.android.lifecycle.HiltViewModel
2222import kotlinx.coroutines.Job
23- import kotlinx.coroutines.cancelAndJoin
2423import kotlinx.coroutines.delay
2524import kotlinx.coroutines.isActive
2625import kotlinx.coroutines.launch
@@ -96,8 +95,8 @@ class PomodoroViewModel @Inject constructor(
9695 }
9796
9897 private fun startUpdate () {
98+ timerJob?.cancel()
9999 timerJob = viewModelScope.launch {
100- timerJob?.cancelAndJoin()
101100 while (isActive) {
102101 updateButtonState()
103102 updateTimerState()
@@ -107,9 +106,7 @@ class PomodoroViewModel @Inject constructor(
107106 }
108107
109108 private fun stopUpdate () {
110- viewModelScope.launch {
111- timerJob?.cancelAndJoin()
112- }
109+ timerJob?.cancel()
113110 }
114111
115112 private suspend fun updateButtonState () {
Original file line number Diff line number Diff line change @@ -38,7 +38,6 @@ import com.example.util.simpletimetracker.navigation.params.screen.ChangeRunning
3838import com.example.util.simpletimetracker.navigation.params.screen.RecordQuickActionsParams
3939import dagger.hilt.android.lifecycle.HiltViewModel
4040import kotlinx.coroutines.Job
41- import kotlinx.coroutines.cancelAndJoin
4241import kotlinx.coroutines.delay
4342import kotlinx.coroutines.isActive
4443import kotlinx.coroutines.launch
@@ -221,11 +220,7 @@ class RecordsViewModel @Inject constructor(
221220
222221 fun onVisible () {
223222 isVisible = true
224- if (shift == 0 ) {
225- startUpdate()
226- } else {
227- updateRecords()
228- }
223+ startUpdate()
229224 }
230225
231226 fun onHidden () {
@@ -349,8 +344,12 @@ class RecordsViewModel @Inject constructor(
349344 }
350345
351346 private fun startUpdate () {
347+ timerJob?.cancel()
348+ if (shift != 0 ) {
349+ updateRecords()
350+ return
351+ }
352352 timerJob = viewModelScope.launch {
353- timerJob?.cancelAndJoin()
354353 while (isActive) {
355354 updateRecords()
356355 delay(TIMER_UPDATE )
@@ -359,9 +358,7 @@ class RecordsViewModel @Inject constructor(
359358 }
360359
361360 private fun stopUpdate () {
362- viewModelScope.launch {
363- timerJob?.cancelAndJoin()
364- }
361+ timerJob?.cancel()
365362 }
366363
367364 companion object {
Original file line number Diff line number Diff line change @@ -52,7 +52,6 @@ import com.example.util.simpletimetracker.navigation.params.screen.RecordTagSele
5252import com.example.util.simpletimetracker.navigation.params.screen.StandardDialogParams
5353import dagger.hilt.android.lifecycle.HiltViewModel
5454import kotlinx.coroutines.Job
55- import kotlinx.coroutines.cancelAndJoin
5655import kotlinx.coroutines.delay
5756import kotlinx.coroutines.isActive
5857import kotlinx.coroutines.launch
@@ -545,8 +544,8 @@ class RunningRecordsViewModel @Inject constructor(
545544 }
546545
547546 private fun startUpdate () {
547+ timerJob?.cancel()
548548 timerJob = viewModelScope.launch {
549- timerJob?.cancelAndJoin()
550549 delayLoad()
551550 while (isActive) {
552551 updateRunningRecords()
@@ -556,9 +555,7 @@ class RunningRecordsViewModel @Inject constructor(
556555 }
557556
558557 private fun stopUpdate () {
559- viewModelScope.launch {
560- timerJob?.cancelAndJoin()
561- }
558+ timerJob?.cancel()
562559 }
563560
564561 @Parcelize
Original file line number Diff line number Diff line change @@ -25,7 +25,6 @@ import com.example.util.simpletimetracker.navigation.Router
2525import com.example.util.simpletimetracker.navigation.params.screen.ChartFilterDialogParams
2626import dagger.hilt.android.lifecycle.HiltViewModel
2727import kotlinx.coroutines.Job
28- import kotlinx.coroutines.cancelAndJoin
2928import kotlinx.coroutines.delay
3029import kotlinx.coroutines.isActive
3130import kotlinx.coroutines.launch
@@ -66,11 +65,7 @@ class StatisticsViewModel @Inject constructor(
6665
6766 fun onVisible () {
6867 isVisible = true
69- if (shift == 0 ) {
70- startUpdate()
71- } else {
72- updateStatistics()
73- }
68+ startUpdate()
7469 updateAnimateChartParticles()
7570 }
7671
@@ -221,8 +216,12 @@ class StatisticsViewModel @Inject constructor(
221216 }
222217
223218 private fun startUpdate () {
219+ timerJob?.cancel()
220+ if (shift != 0 ) {
221+ updateStatistics()
222+ return
223+ }
224224 timerJob = viewModelScope.launch {
225- timerJob?.cancelAndJoin()
226225 while (isActive) {
227226 updateStatistics()
228227 delay(TIMER_UPDATE )
@@ -231,9 +230,7 @@ class StatisticsViewModel @Inject constructor(
231230 }
232231
233232 private fun stopUpdate () {
234- viewModelScope.launch {
235- timerJob?.cancelAndJoin()
236- }
233+ timerJob?.cancel()
237234 }
238235
239236 companion object {
You can’t perform that action at this time.
0 commit comments