From 634fc15829abeb7227b9ee5fb74186fbea14e340 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Wed, 2 Mar 2022 19:22:33 +0000 Subject: [PATCH] adding privacy policy link in settings --- .../src/main/kotlin/app/dapk/st/settings/SettingsScreen.kt | 4 ++++ .../src/main/kotlin/app/dapk/st/settings/SettingsState.kt | 2 ++ .../main/kotlin/app/dapk/st/settings/SettingsViewModel.kt | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsScreen.kt b/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsScreen.kt index 5fcb425..9f16596 100644 --- a/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsScreen.kt +++ b/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsScreen.kt @@ -32,6 +32,7 @@ import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.core.net.toUri import app.dapk.st.core.Lce import app.dapk.st.core.StartObserving import app.dapk.st.core.components.CenteredLoading @@ -220,6 +221,9 @@ private fun SettingsViewModel.ObserveEvents(onSignOut: () -> Unit) { OpenEventLog -> { context.startActivity(Intent(context, EventLogActivity::class.java)) } + is OpenUrl -> { + context.startActivity(Intent(Intent.ACTION_VIEW).apply { data = it.url.toUri() }) + } } } } diff --git a/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsState.kt b/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsState.kt index 9314e52..0aa3019 100644 --- a/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsState.kt +++ b/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsState.kt @@ -43,6 +43,7 @@ sealed interface SettingItem { ClearCache, EventLog, Encryption, + PrivacyPolicy, Ignored, } } @@ -52,6 +53,7 @@ sealed interface SettingsEvent { object SignedOut : SettingsEvent data class Toast(val message: String) : SettingsEvent object OpenEventLog : SettingsEvent + data class OpenUrl(val url: String) : SettingsEvent data class CopyToClipboard(val message: String, val content: String) : SettingsEvent } diff --git a/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsViewModel.kt b/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsViewModel.kt index a4449b6..20e1806 100644 --- a/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsViewModel.kt +++ b/features/settings/src/main/kotlin/app/dapk/st/settings/SettingsViewModel.kt @@ -38,6 +38,7 @@ class SettingsViewModel( SettingItem.Header("Account"), SettingItem.Text(SignOut, "Sign out"), SettingItem.Header("About"), + SettingItem.Text(PrivacyPolicy, "Privacy policy"), SettingItem.Text(Ignored, "Version", buildMeta.versionName), ) ) @@ -75,6 +76,10 @@ class SettingsViewModel( copy(page = SpiderPage(Page.Routes.encryption, "Encryption", Page.Routes.root, Page.Security)) } } + PrivacyPolicy -> _events.tryEmit(OpenUrl("https://ouchadam.github.io/small-talk/privacy/")) + Ignored -> { + // do nothing + } } }