From e657e918ceb205bad0e3d12da1687712655e3b15 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Mon, 8 May 2023 09:52:01 +0200 Subject: [PATCH 1/4] Replace manual URI handling with Compose's `LocalUriHandler` --- .../apps/nowinandroid/feature/settings/SettingsDialog.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt index 847493a83..1b92e8e90 100644 --- a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt +++ b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt @@ -43,12 +43,14 @@ import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.core.content.ContextCompat +import androidx.core.net.toUri import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme @@ -277,8 +279,7 @@ private fun LinksPanel() { @Composable private fun TextLink(text: String, url: String) { - val launchResourceIntent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) - val context = LocalContext.current + val uriHandler = LocalUriHandler.current Text( text = text, @@ -286,9 +287,7 @@ private fun TextLink(text: String, url: String) { color = MaterialTheme.colorScheme.primary, modifier = Modifier .padding(vertical = 8.dp) - .clickable { - ContextCompat.startActivity(context, launchResourceIntent, null) - }, + .clickable { uriHandler.openUri(url.toUri()) }, ) } From b606042008512b9fff00af32cd7a3016b67e2bf7 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Mon, 8 May 2023 10:28:05 +0200 Subject: [PATCH 2/4] Remove `toUri()` --- .../apps/nowinandroid/feature/settings/SettingsDialog.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt index 1b92e8e90..a636913b4 100644 --- a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt +++ b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt @@ -50,7 +50,6 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.core.content.ContextCompat -import androidx.core.net.toUri import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme @@ -287,7 +286,7 @@ private fun TextLink(text: String, url: String) { color = MaterialTheme.colorScheme.primary, modifier = Modifier .padding(vertical = 8.dp) - .clickable { uriHandler.openUri(url.toUri()) }, + .clickable { uriHandler.openUri(url) }, ) } From 803048b42fc65c064070386e7afcc8ab497a6b47 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Mon, 8 May 2023 10:31:35 +0200 Subject: [PATCH 3/4] Remove unused imports --- .../apps/nowinandroid/feature/settings/SettingsDialog.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt index a636913b4..71456e93d 100644 --- a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt +++ b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt @@ -16,8 +16,6 @@ package com.google.samples.apps.nowinandroid.feature.settings -import android.content.Intent -import android.net.Uri import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -42,7 +40,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalConfiguration -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role From 68c192193e80d74ef3e1b3717f1536ceb0f9a188 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Mon, 8 May 2023 10:34:05 +0200 Subject: [PATCH 4/4] Remove unused import --- .../samples/apps/nowinandroid/feature/settings/SettingsDialog.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt index 71456e93d..76b6494c3 100644 --- a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt +++ b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt @@ -46,7 +46,6 @@ import androidx.compose.ui.semantics.Role import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties -import androidx.core.content.ContextCompat import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme