From b63325ae8d527d161aabdc61cf3b49edaee8abdc Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Mon, 25 Nov 2024 19:29:09 +0100 Subject: [PATCH] open full notification settings from talk settings as fallback if dialog for asking direct permission was not shown by android Signed-off-by: Marcel Hibbe --- .../talk/settings/SettingsActivity.kt | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt b/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt index da04c9305..61e07ca60 100644 --- a/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt @@ -1101,16 +1101,14 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu ConversationsListActivity.REQUEST_POST_NOTIFICATIONS_PERMISSION -> { if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_DENIED) { - Snackbar.make( - binding.root, - context.resources.getString(R.string.nc_settings_notifications_declined_hint), - Snackbar.LENGTH_LONG - ).show() - Log.d( - TAG, - "Notification permission is denied. Either because user denied it when being asked. " + - "Or permission is already denied and android decided to not offer the dialog." - ) + try { + val intent = Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + intent.putExtra(Settings.EXTRA_APP_PACKAGE, BuildConfig.APPLICATION_ID) + startActivity(intent) + } catch (e: Exception) { + Log.e(TAG, "Failed to open notification settings as fallback", e) + } } } }