diff --git a/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java b/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java index 87fa616e..bc6d1d7b 100644 --- a/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java +++ b/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java @@ -104,7 +104,13 @@ public class RNFirebaseMessaging extends ReactContextBaseJavaModule implements L @ReactMethod public void cancelAllLocalNotifications() { - mRNFirebaseLocalMessagingHelper.cancelAllLocalNotifications(); + try { + mRNFirebaseLocalMessagingHelper.cancelAllLocalNotifications(); + } catch (SecurityException e) { + // In some devices/situations cancelAllLocalNotifications will throw a SecurityException + // We can safely ignore this error for now as the UX impact of this not working is minor. + Log.w(TAG, e.getMessage()); + } } @ReactMethod diff --git a/lib/modules/database/reference.js b/lib/modules/database/reference.js index afed604a..befd514d 100644 --- a/lib/modules/database/reference.js +++ b/lib/modules/database/reference.js @@ -204,8 +204,11 @@ export default class Reference extends ReferenceBase { return new Promise((resolve, reject) => { const onCompleteWrapper = (error, committed, snapshotData) => { if (isFunction(onComplete)) { - if (error) return onComplete(error, committed, null); - return onComplete(null, committed, new Snapshot(this, snapshotData)); + if (error) { + onComplete(error, committed, null); + } else { + onComplete(null, committed, new Snapshot(this, snapshotData)); + } } if (error) return reject(error);