From 79b33ced2ecee80d287814767aecfe9b66579877 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Fri, 1 Dec 2023 00:18:04 +0100 Subject: [PATCH] refactor: Small improvements for changeState in RecorderService --- .../alibi/services/RecorderService.kt | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/app/myzel394/alibi/services/RecorderService.kt b/app/src/main/java/app/myzel394/alibi/services/RecorderService.kt index 7b5865a..f69c792 100644 --- a/app/src/main/java/app/myzel394/alibi/services/RecorderService.kt +++ b/app/src/main/java/app/myzel394/alibi/services/RecorderService.kt @@ -91,6 +91,14 @@ abstract class RecorderService : LifecycleService() { } } + protected fun _changeStateValue(newState: RecorderState) { + state = newState + + onStateChange?.invoke(newState) + } + + // Used to change the state of the service + // will internally call start() / pause() / resume() / stop() @SuppressLint("MissingPermission") fun changeState(newState: RecorderState) { if (state == newState) { @@ -106,27 +114,23 @@ abstract class RecorderService : LifecycleService() { } else { start() } + + createRecordingTimeTimer() } RecorderState.PAUSED -> { pause() isPaused = true + + recordingTimeTimer.shutdown() } - else -> {} - } - - when (newState) { - RecorderState.RECORDING -> { - createRecordingTimeTimer() - } - - RecorderState.PAUSED, RecorderState.IDLE -> { + RecorderState.IDLE -> { recordingTimeTimer.shutdown() } } - + // Update notification if ( arrayOf( RecorderState.RECORDING, @@ -140,7 +144,8 @@ abstract class RecorderService : LifecycleService() { notification ) } - onStateChange?.invoke(newState) + + _changeStateValue(newState) } // Must be immediately called after creating the service!