Skip to content

Commit b8441cc

Browse files
authored
Merge pull request #1798 from OneSignal/fix/canRequestPermission_returns_true
[5.0.0] Fix canRequestPermission always returning true
2 parents aed2897 + 8b58c6e commit b8441cc

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/activities/PermissionsActivity.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@ class PermissionsActivity : Activity() {
104104
?: throw RuntimeException("Missing handler for permissionRequestType: $permissionRequestType")
105105
if (granted) {
106106
callback.onAccept()
107+
_preferenceService!!.saveBool(
108+
PreferenceStores.ONESIGNAL,
109+
"${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$androidPermissionString",
110+
true,
111+
)
107112
} else {
108113
callback.onReject(shouldShowSettings())
109114
}
@@ -132,7 +137,7 @@ class PermissionsActivity : Activity() {
132137
) {
133138
_preferenceService!!.saveBool(
134139
PreferenceStores.ONESIGNAL,
135-
"${PreferenceOneSignalKeys.PREFS_OS_USER_REJECTED_PERMISSION_PREFIX}$androidPermissionString",
140+
"${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$androidPermissionString",
136141
true,
137142
)
138143
return false
@@ -141,7 +146,7 @@ class PermissionsActivity : Activity() {
141146

142147
return _preferenceService!!.getBool(
143148
PreferenceStores.ONESIGNAL,
144-
"${PreferenceOneSignalKeys.PREFS_OS_USER_REJECTED_PERMISSION_PREFIX}$androidPermissionString",
149+
"${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$androidPermissionString",
145150
false,
146151
)!!
147152
}

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/preferences/IPreferencesService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ object PreferenceOneSignalKeys {
156156
* (Boolean) A prefix key for the permission state. When true, the user has rejected this
157157
* permission too many times and will not be prompted again.
158158
*/
159-
const val PREFS_OS_USER_REJECTED_PERMISSION_PREFIX = "USER_REJECTED_PERMISSION_"
159+
const val PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX = "USER_RESOLVED_PERMISSION_"
160160

161161
// HTTP
162162
/**

OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/permissions/impl/NotificationPermissionController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ internal class NotificationPermissionController(
5858
override val canRequestPermission: Boolean
5959
get() = !_preferenceService.getBool(
6060
PreferenceStores.ONESIGNAL,
61-
"${PreferenceOneSignalKeys.PREFS_OS_USER_REJECTED_PERMISSION_PREFIX}$ANDROID_PERMISSION_STRING",
61+
"${PreferenceOneSignalKeys.PREFS_OS_USER_RESOLVED_PERMISSION_PREFIX}$ANDROID_PERMISSION_STRING",
6262
false,
6363
)!!
6464

0 commit comments

Comments
 (0)