From 88ace5ba82e4e7c57ec2779df3f32e1f67780bb6 Mon Sep 17 00:00:00 2001 From: johan12345 Date: Sun, 13 Nov 2022 14:19:15 +0100 Subject: [PATCH] Android >= 12: Add link in preferences to enable opening links --- .../fragment/preference/UiSettingsFragment.kt | 25 +++++++++++++++++++ app/src/main/res/values-de/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/settings_ui.xml | 4 +++ 4 files changed, 33 insertions(+) diff --git a/app/src/main/java/net/vonforst/evmap/fragment/preference/UiSettingsFragment.kt b/app/src/main/java/net/vonforst/evmap/fragment/preference/UiSettingsFragment.kt index 64f76b59..41921c86 100644 --- a/app/src/main/java/net/vonforst/evmap/fragment/preference/UiSettingsFragment.kt +++ b/app/src/main/java/net/vonforst/evmap/fragment/preference/UiSettingsFragment.kt @@ -1,8 +1,13 @@ package net.vonforst.evmap.fragment.preference +import android.content.Intent import android.content.SharedPreferences +import android.net.Uri +import android.os.Build import android.os.Bundle +import android.provider.Settings import androidx.preference.ListPreference +import androidx.preference.Preference import net.vonforst.evmap.R import net.vonforst.evmap.ui.getAppLocale import net.vonforst.evmap.ui.updateAppLocale @@ -20,6 +25,9 @@ class UiSettingsFragment : BaseSettingsFragment() { updateAppLocale(newValue as String) true } + + val appLinkPref = findPreference("applink_associate")!! + appLinkPref.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S } override fun onResume() { @@ -34,4 +42,21 @@ class UiSettingsFragment : BaseSettingsFragment() { } } } + + override fun onPreferenceTreeClick(preference: Preference): Boolean { + when (preference.key) { + "applink_associate" -> { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + val context = context ?: return false + val intent = Intent( + Settings.ACTION_APP_OPEN_BY_DEFAULT_SETTINGS, + Uri.parse("package:${context.packageName}") + ) + context.startActivity(intent) + } + return true + } + } + return super.onPreferenceTreeClick(preference) + } } \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9f8c28d3..75879fc1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -284,4 +284,6 @@ (nur %s) DC-Anschlüsse Datenquelle zu %s umgeschaltet + Unterstützte Links öffnen + von goingelectric.de und openchargemap.org \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9203c9e2..9d48c37e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -283,4 +283,6 @@ (%s only) DC plugs Data source switched to %s + Open supported links + from goingelectric.de and openchargemap.org diff --git a/app/src/main/res/xml/settings_ui.xml b/app/src/main/res/xml/settings_ui.xml index ddbf686e..d6d3a276 100644 --- a/app/src/main/res/xml/settings_ui.xml +++ b/app/src/main/res/xml/settings_ui.xml @@ -28,4 +28,8 @@ android:summaryOn="@string/pref_navigate_use_maps_on" android:summaryOff="@string/pref_navigate_use_maps_off" android:defaultValue="true" /> + \ No newline at end of file