From 072b8a9b02991e9a3b5d2d47e6d23810e9ca33ff Mon Sep 17 00:00:00 2001 From: diegolmello Date: Thu, 1 Aug 2019 17:22:21 -0300 Subject: [PATCH] Android notifications working --- ...tion.java_ => CustomPushNotification.java} | 0 .../rocket/reactnative/MainApplication.java | 21 ++++++++++++++++++- app/notifications/push/push.android.js | 5 ++--- 3 files changed, 22 insertions(+), 4 deletions(-) rename android/app/src/main/java/chat/rocket/reactnative/{CustomPushNotification.java_ => CustomPushNotification.java} (100%) diff --git a/android/app/src/main/java/chat/rocket/reactnative/CustomPushNotification.java_ b/android/app/src/main/java/chat/rocket/reactnative/CustomPushNotification.java similarity index 100% rename from android/app/src/main/java/chat/rocket/reactnative/CustomPushNotification.java_ rename to android/app/src/main/java/chat/rocket/reactnative/CustomPushNotification.java diff --git a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java index 23add692b..4b9ac755e 100644 --- a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java +++ b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java @@ -2,6 +2,8 @@ package chat.rocket.reactnative; import android.app.Application; import android.util.Log; +import android.content.Context; +import android.os.Bundle; import com.facebook.react.PackageList; import com.facebook.hermes.reactexecutor.HermesExecutorFactory; @@ -18,6 +20,11 @@ import org.unimodules.adapters.react.ReactModuleRegistryProvider; import org.unimodules.core.interfaces.SingletonModule; import com.wix.reactnativenotifications.RNNotificationsPackage; +import com.wix.reactnativenotifications.core.AppLaunchHelper; +import com.wix.reactnativenotifications.core.AppLifecycleFacade; +import com.wix.reactnativenotifications.core.JsIOHelper; +import com.wix.reactnativenotifications.core.notification.INotificationsApplication; +import com.wix.reactnativenotifications.core.notification.IPushNotification; import com.wix.reactnativekeyboardinput.KeyboardInputPackage; import io.invertase.firebase.RNFirebasePackage; @@ -28,7 +35,7 @@ import io.invertase.firebase.perf.RNFirebasePerformancePackage; import java.util.Arrays; import java.util.List; -public class MainApplication extends Application implements ReactApplication { +public class MainApplication extends Application implements ReactApplication, INotificationsApplication { private final ReactModuleRegistryProvider mModuleRegistryProvider = new ReactModuleRegistryProvider(new BasePackageList().getPackageList(), Arrays.asList()); @@ -47,6 +54,7 @@ public class MainApplication extends Application implements ReactApplication { packages.add(new RNFirebaseAnalyticsPackage()); packages.add(new RNFirebasePerformancePackage()); packages.add(new KeyboardInputPackage(MainApplication.this)); + packages.add(new RNNotificationsPackage(MainApplication.this)); packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider)); return packages; } @@ -67,4 +75,15 @@ public class MainApplication extends Application implements ReactApplication { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); } + + @Override + public IPushNotification getPushNotification(Context context, Bundle bundle, AppLifecycleFacade defaultFacade, AppLaunchHelper defaultAppLaunchHelper) { + return new CustomPushNotification( + context, + bundle, + defaultFacade, + defaultAppLaunchHelper, + new JsIOHelper() + ); + } } diff --git a/app/notifications/push/push.android.js b/app/notifications/push/push.android.js index f6571005f..d83184594 100644 --- a/app/notifications/push/push.android.js +++ b/app/notifications/push/push.android.js @@ -24,9 +24,8 @@ class PushNotification { configure(params) { this.onRegister = params.onRegister; this.onNotification = params.onNotification; - // NotificationsAndroid.refreshToken(); - // return PendingNotifications.getInitialNotification(); - return Promise.resolve() + NotificationsAndroid.refreshToken(); + return PendingNotifications.getInitialNotification(); } }