Code review:
- Removed DisposableEffect cleanup - Added cancelUpload() to selectRecording()
This commit is contained in:
-7
@@ -41,7 +41,6 @@ import androidx.compose.material3.Scaffold
|
|||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.DisposableEffect
|
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
@@ -85,12 +84,6 @@ fun VoiceReplyScreen(
|
|||||||
nav.popBack()
|
nav.popBack()
|
||||||
}
|
}
|
||||||
|
|
||||||
DisposableEffect(Unit) {
|
|
||||||
onDispose {
|
|
||||||
viewModel.cancel()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Scaffold(
|
Scaffold(
|
||||||
topBar = {
|
topBar = {
|
||||||
PostingTopBar(
|
PostingTopBar(
|
||||||
|
|||||||
+2
-12
@@ -107,23 +107,13 @@ class VoiceReplyViewModel : ViewModel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun selectRecording(recording: RecordingResult) {
|
fun selectRecording(recording: RecordingResult) {
|
||||||
|
cancelUpload()
|
||||||
deleteVoiceLocalFile()
|
deleteVoiceLocalFile()
|
||||||
voiceRecording = recording
|
voiceRecording = recording
|
||||||
voiceLocalFile = recording.file
|
voiceLocalFile = recording.file
|
||||||
voiceMetadata = null
|
voiceMetadata = null
|
||||||
}
|
}
|
||||||
|
|
||||||
fun removeVoiceMessage() {
|
|
||||||
cancelUpload()
|
|
||||||
deleteVoiceLocalFile()
|
|
||||||
voiceRecording = null
|
|
||||||
voiceLocalFile = null
|
|
||||||
voiceMetadata = null
|
|
||||||
voiceSelectedServer = null
|
|
||||||
isUploading = false
|
|
||||||
voiceOrchestrator = null
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun cancelUpload() {
|
private fun cancelUpload() {
|
||||||
uploadJob?.cancel()
|
uploadJob?.cancel()
|
||||||
uploadJob = null
|
uploadJob = null
|
||||||
@@ -175,7 +165,7 @@ class VoiceReplyViewModel : ViewModel() {
|
|||||||
|
|
||||||
handleUploadResult(note, recording, serverToUse, result, onSuccess)
|
handleUploadResult(note, recording, serverToUse, result, onSuccess)
|
||||||
} catch (e: CancellationException) {
|
} catch (e: CancellationException) {
|
||||||
// User canceled, or ViewModel cleared.
|
Log.w("VoiceReplyViewModel", "User canceled, or ViewModel cleared", e)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
val appContext = Amethyst.instance.appContext
|
val appContext = Amethyst.instance.appContext
|
||||||
val uploadErrorTitle = stringRes(appContext, R.string.upload_error_title)
|
val uploadErrorTitle = stringRes(appContext, R.string.upload_error_title)
|
||||||
|
|||||||
Reference in New Issue
Block a user