OneSignal / OneSignal-iOS-SDK

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native iOS app with OneSignal. https://onesignal.com
Other
496 stars 263 forks source link

Fix badge clearing when calling clearAll #1335

Closed emawby closed 1 year ago

emawby commented 1 year ago

Description

One Line Summary

This PR allows badges to be cleared when calling clearAll even when the disable badge clearing plist option is set to true

Details

the disable badge clearing plist option is intended to turn off the automatic badge clearing behavior that occurs when the app is opened or a notification is clicked.

This option should not be respected when the clearAll method is explicitly called because it will result in the wrong value being shown when notifications are incremented.

Additionally when the option is on we should still cache the current value instead of doing a no op incase the value has been manually set by the app.

Motivation

Fixes #1324

Scope

badge counts

Testing

Unit testing

Manual testing

tested on a physical device with the setting both on and off

Affected code checklist

Checklist

Overview

Testing

Final pass


This change is Reviewable