From 4b2ac13124c230c7fce4d8aa2242aab635f9a2a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=81ctor=20Abraham?= Date: Tue, 29 Jul 2025 12:47:56 +0200 Subject: [PATCH] Open TermsOfService and PrivacyPolicy in a customTab Those links shouldn't leave the app, so use CustomTabs to open them inside the app. --- homeUi/build.gradle.kts | 1 + .../home/components/topbar/components/AboutAppDialog.kt | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/homeUi/build.gradle.kts b/homeUi/build.gradle.kts index 26b11fb8..4f4bfb96 100644 --- a/homeUi/build.gradle.kts +++ b/homeUi/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { implementation(libs.androidx.ui.graphics) implementation(libs.androidx.navigation) implementation(libs.androidx.constraintLayout.compose) + implementation(libs.androidx.browser) implementation(libs.coil.compose) implementation(project.dependencies.platform(libs.koin.bom)) implementation(libs.koin.core) diff --git a/homeUi/src/main/kotlin/com/gravatar/app/homeUi/presentation/home/components/topbar/components/AboutAppDialog.kt b/homeUi/src/main/kotlin/com/gravatar/app/homeUi/presentation/home/components/topbar/components/AboutAppDialog.kt index c96f9193..e11262a7 100644 --- a/homeUi/src/main/kotlin/com/gravatar/app/homeUi/presentation/home/components/topbar/components/AboutAppDialog.kt +++ b/homeUi/src/main/kotlin/com/gravatar/app/homeUi/presentation/home/components/topbar/components/AboutAppDialog.kt @@ -2,6 +2,7 @@ package com.gravatar.app.homeUi.presentation.home.components.topbar.components import android.content.Context import android.content.Intent +import androidx.browser.customtabs.CustomTabsIntent import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -125,15 +126,18 @@ private fun Context.sendSupportEmail() { private fun Context.openSupportPage() = openUrl("https://$SUPPORT_URL") -private fun Context.openTermsOfService() = openUrl(TERMS_OF_SERVICE_URL) +private fun Context.openTermsOfService() = openUrlInApp(TERMS_OF_SERVICE_URL) -private fun Context.openPrivacyPolicy() = openUrl(PRIVACY_POLICY_URL) +private fun Context.openPrivacyPolicy() = openUrlInApp(PRIVACY_POLICY_URL) private fun Context.openUrl(url: String) { val intent = Intent(Intent.ACTION_VIEW, url.toUri()) startActivity(intent) } +private fun Context.openUrlInApp(url: String) = + CustomTabsIntent.Builder().build().launchUrl(this, url.toUri()) + private const val SUPPORT_URL = "support.gravatar.com" private const val SUPPORT_EMAIL = "support@gravatar.com" private const val TERMS_OF_SERVICE_URL = "https://wordpress.com/tos/"