From 60ee8d9395fe7fcb2a004ff67e0469d5d12c1e64 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Fri, 5 Jan 2024 20:16:53 +0100 Subject: [PATCH] refactor: Outsource function into rememberOpenUri --- .../organisms/RecorderEventsHandler.kt | 7 ++----- .../app/myzel394/alibi/ui/effects/open-uri.kt | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/app/myzel394/alibi/ui/effects/open-uri.kt diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/RecorderEventsHandler.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/RecorderEventsHandler.kt index 8fe96b3..d01c5ad 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/RecorderEventsHandler.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/RecorderEventsHandler.kt @@ -28,6 +28,7 @@ import app.myzel394.alibi.services.IntervalRecorderService import app.myzel394.alibi.ui.components.RecorderScreen.atoms.BatchesInaccessibleDialog import app.myzel394.alibi.ui.components.RecorderScreen.atoms.RecorderErrorDialog import app.myzel394.alibi.ui.components.RecorderScreen.atoms.RecorderProcessingDialog +import app.myzel394.alibi.ui.effects.rememberOpenUri import app.myzel394.alibi.ui.models.AudioRecorderModel import app.myzel394.alibi.ui.models.BaseRecorderModel import app.myzel394.alibi.ui.models.VideoRecorderModel @@ -106,11 +107,7 @@ fun RecorderEventsHandler( val successMessage = stringResource(R.string.ui_recorder_action_save_success) val openMessage = stringResource(R.string.ui_recorder_action_save_openFolder) - fun openFolder(uri: Uri) { - val intent = Intent(Intent.ACTION_VIEW, uri) - - context.startActivity(intent) - } + val openFolder = rememberOpenUri() fun showSnackbar() { scope.launch { diff --git a/app/src/main/java/app/myzel394/alibi/ui/effects/open-uri.kt b/app/src/main/java/app/myzel394/alibi/ui/effects/open-uri.kt new file mode 100644 index 0000000..9e0ef36 --- /dev/null +++ b/app/src/main/java/app/myzel394/alibi/ui/effects/open-uri.kt @@ -0,0 +1,18 @@ +package app.myzel394.alibi.ui.effects + +import android.content.Intent +import android.net.Uri +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext + +@Composable +fun rememberOpenUri(): (uri: Uri) -> Unit { + val context = LocalContext.current + + return fun(uri: Uri) { + val intent = Intent(Intent.ACTION_VIEW, uri) + + context.startActivity(intent) + } +} +