From d33041cd9e95e7d66ef17923a70179c217bf9cf9 Mon Sep 17 00:00:00 2001 From: Archit Raj Date: Mon, 8 Nov 2021 04:22:03 -0800 Subject: [PATCH] fix: NativeEventEmitter warnings for android (#2975) Summary: With React Native v0.65+, `NativeEventEmitter` shows non-null argument warnings. Issue https://github.com/facebook/flipper/issues/2707 ``` `new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method. `new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method. ``` ## Changelog https://github.com/facebook/flipper/issues/2707 - Fix NativeEventEmitter warnings for android Pull Request resolved: https://github.com/facebook/flipper/pull/2975 Test Plan: - Add `redux-flipper` plugin to `ReactNativeFlipperExample` project ## Screenshots #### Before ![Screenshot_1634241069](https://user-images.githubusercontent.com/20144332/137386556-79bbad7e-74b9-4343-ad45-26119557142a.png) #### After ![Screenshot_1634241159](https://user-images.githubusercontent.com/20144332/137386572-54c74ca5-a70a-4fd4-9644-d5e15f817128.png) Reviewed By: passy Differential Revision: D32243694 Pulled By: mweststrate fbshipit-source-id: 21e490a275875268fea982ac1e855ca4bed02bc8 --- .../facebook/flipper/reactnative/FlipperModule.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/react-native/react-native-flipper/android/src/debug/java/com/facebook/flipper/reactnative/FlipperModule.java b/react-native/react-native-flipper/android/src/debug/java/com/facebook/flipper/reactnative/FlipperModule.java index 8564e4477..a94e417bc 100644 --- a/react-native/react-native-flipper/android/src/debug/java/com/facebook/flipper/reactnative/FlipperModule.java +++ b/react-native/react-native-flipper/android/src/debug/java/com/facebook/flipper/reactnative/FlipperModule.java @@ -78,6 +78,16 @@ public class FlipperModule extends ReactContextBaseJavaModule { mManager.respondError(responderId, data); } + @ReactMethod + public void addListener(String eventName) { + // Set up any upstream listeners or background tasks as necessary + } + + @ReactMethod + public void removeListeners(Integer count) { + // Remove upstream listeners, stop unnecessary background tasks + } + void sendJSEvent(String eventName, WritableMap params) { final ReactApplicationContext context = getReactApplicationContextIfActiveOrWarn(); if (context != null) {