From 8b58c6e5e6204cad248228f6c5c2a16b2f78d7b1 Mon Sep 17 00:00:00 2001 From: Jenna Antilla <46546946+jennantilla@users.noreply.github.com> Date: Wed, 9 Aug 2023 14:11:30 -0700 Subject: [PATCH] Update PreferenceStores bool upon granting permission --- .../com/onesignal/core/activities/PermissionsActivity.kt | 9 +++++++-- .../core/internal/preferences/IPreferencesService.kt | 2 +- .../permissions/impl/NotificationPermissionController.kt | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/activities/PermissionsActivity.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/activities/PermissionsActivity.kt index 3b81171480..e3b2f5d696 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/activities/PermissionsActivity.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/activities/PermissionsActivity.kt @@ -104,6 +104,11 @@ class PermissionsActivity : Activity() { ?: throw RuntimeException("Missing handler for permissionRequestType: $permissionRequestType") if (granted) { callback.onAccept() + _preferenceService!!.saveBool( + PreferenceStores.ONESIGNAL, + "${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$androidPermissionString", + true, + ) } else { callback.onReject(shouldShowSettings()) } @@ -132,7 +137,7 @@ class PermissionsActivity : Activity() { ) { _preferenceService!!.saveBool( PreferenceStores.ONESIGNAL, - "${PreferenceOneSignalKeys.PREFS_OS_USER_REJECTED_PERMISSION_PREFIX}$androidPermissionString", + "${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$androidPermissionString", true, ) return false @@ -141,7 +146,7 @@ class PermissionsActivity : Activity() { return _preferenceService!!.getBool( PreferenceStores.ONESIGNAL, - "${PreferenceOneSignalKeys.PREFS_OS_USER_REJECTED_PERMISSION_PREFIX}$androidPermissionString", + "${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$androidPermissionString", false, )!! } diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/preferences/IPreferencesService.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/preferences/IPreferencesService.kt index d89ca7e125..475dc43058 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/preferences/IPreferencesService.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/preferences/IPreferencesService.kt @@ -156,7 +156,7 @@ object PreferenceOneSignalKeys { * (Boolean) A prefix key for the permission state. When true, the user has rejected this * permission too many times and will not be prompted again. */ - const val PREFS_OS_USER_REJECTED_PERMISSION_PREFIX = "USER_REJECTED_PERMISSION_" + const val PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX = "USER_RESOLVED_PERMISSION_" // HTTP /** diff --git a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/permissions/impl/NotificationPermissionController.kt b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/permissions/impl/NotificationPermissionController.kt index 16af5541ce..b524770bd6 100644 --- a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/permissions/impl/NotificationPermissionController.kt +++ b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/permissions/impl/NotificationPermissionController.kt @@ -58,7 +58,7 @@ internal class NotificationPermissionController( override val canRequestPermission: Boolean get() = !_preferenceService.getBool( PreferenceStores.ONESIGNAL, - "${PreferenceOneSignalKeys.PREFS_OS_USER_REJECTED_PERMISSION_PREFIX}$ANDROID_PERMISSION_STRING", + "${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$ANDROID_PERMISSION_STRING", false, )!!