This commit is contained in:
Salakar 2018-04-29 15:11:07 +01:00
commit 8ef7c2d983
5 changed files with 21 additions and 10 deletions

View File

@ -17,6 +17,7 @@ import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.RemoteInput;
import android.support.v4.content.LocalBroadcastManager;
@ -634,7 +635,7 @@ public class RNFirebaseNotificationManager {
return null;
}
private void scheduleNotification(Bundle notification, Promise promise) {
private void scheduleNotification(Bundle notification, @Nullable Promise promise) {
if (!notification.containsKey("notificationId")) {
if (promise == null) {
Log.e(TAG, "Missing notificationId");
@ -664,7 +665,11 @@ public class RNFirebaseNotificationManager {
JSONObject json = BundleJSONConverter.convertToJSON(notification);
preferences.edit().putString(notificationId, json.toString()).apply();
} catch (JSONException e) {
promise.reject("notification/schedule_notification_error", "Failed to store notification", e);
if (promise == null) {
Log.e(TAG, "Failed to store notification");
} else {
promise.reject("notification/schedule_notification_error", "Failed to store notification", e);
}
return;
}
@ -694,7 +699,11 @@ public class RNFirebaseNotificationManager {
}
if (interval == null) {
promise.reject("notification/schedule_notification_error", "Invalid interval");
if (promise == null) {
Log.e(TAG, "Invalid interval");
} else {
promise.reject("notification/schedule_notification_error", "Invalid interval");
}
return;
}
@ -709,6 +718,8 @@ public class RNFirebaseNotificationManager {
}
}
promise.resolve(null);
if (promise != null) {
promise.resolve(null);
}
}
}

4
lib/index.d.ts vendored
View File

@ -1502,7 +1502,7 @@ declare module "react-native-firebase" {
startAfter(...varargs: any[]): Query;
startAt(snapshot: DocumentSnapshot): Query;
startAt(...varargs: any[]): Query;
where(fieldPath: string, op: Types.QueryOperator, value: any): Query;
where(fieldPath: string | FieldPath, op: Types.QueryOperator, value: any): Query;
}
interface DocumentChange {
@ -1598,7 +1598,7 @@ declare module "react-native-firebase" {
startAfter(...varargs: any[]): Query;
startAt(snapshot: DocumentSnapshot): Query;
startAt(...varargs: any[]): Query;
where(fieldPath: string, op: Types.QueryOperator, value: any): Query;
where(fieldPath: string | FieldPath, op: Types.QueryOperator, value: any): Query;
}
namespace Query {
interface NativeFieldPath {

View File

@ -103,16 +103,16 @@ export default class Auth extends ModuleBase {
}
_setUser(user: ?NativeUser): ?User {
this._authResult = true;
this._user = user ? new User(this, user) : null;
this._authResult = true;
SharedEventEmitter.emit(getAppEventName(this, 'onUserChanged'), this._user);
return this._user;
}
_setUserCredential(userCredential: NativeUserCredential): UserCredential {
const user = new User(this, userCredential.user);
this._authResult = true;
this._user = user;
this._authResult = true;
SharedEventEmitter.emit(getAppEventName(this, 'onUserChanged'), this._user);
return {
additionalUserInfo: userCredential.additionalUserInfo,

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "react-native-firebase",
"version": "4.0.5",
"version": "4.0.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "react-native-firebase",
"version": "4.0.5",
"version": "4.0.6",
"author": "Invertase <contact@invertase.io> (http://invertase.io)",
"description": "A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Messaging (FCM), Remote Config, Storage and Performance.",
"main": "dist/index.js",