From 2ac1d3f1e6b67f24af113945a066bed7441c8c82 Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Tue, 10 Oct 2023 09:53:41 +0200 Subject: [PATCH] Prefs: immediately ask for required permissions, needed for BT device list --- src/BackendPrefs.scala | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/BackendPrefs.scala b/src/BackendPrefs.scala index b7d613a..319f6a3 100644 --- a/src/BackendPrefs.scala +++ b/src/BackendPrefs.scala @@ -12,6 +12,9 @@ import android.widget.Toast class BackendPrefs extends PreferenceActivity with OnSharedPreferenceChangeListener with PermissionHelper { + + val BACKEND_PERMISSION = 1000 + def loadXml() { val prefs = new PrefsWrapper(this) addPreferencesFromResource(R.xml.backend) @@ -22,6 +25,10 @@ class BackendPrefs extends PreferenceActivity hookPasscode() hookGpsPermission() } + val perms = AprsBackend.defaultBackendPermissions(prefs) + if (perms.nonEmpty) { + checkPermissions(perms.toArray, BACKEND_PERMISSION) + } } def hookPasscode(): Unit = { @@ -71,7 +78,11 @@ class BackendPrefs extends PreferenceActivity override def getActionName(action: Int): Int = R.string.p_conn_kwd_gps override def onAllPermissionsGranted(action: Int): Unit = { - findPreference("kenwood.gps").asInstanceOf[CheckBoxPreference].setChecked(true) + action match { + case REQUEST_GPS => + findPreference("kenwood.gps").asInstanceOf[CheckBoxPreference].setChecked(true) + case _ => + } } override def onPermissionsFailedCancel(action: Int): Unit = { // nop