From aa305b34e3c73d7bb5c698220a12e7530e94e993 Mon Sep 17 00:00:00 2001 From: Joshua Gross Date: Fri, 5 Mar 2021 18:36:25 -0800 Subject: [PATCH] Make sure that DialogModule is subscribed to LifecycleEventListener events Summary: I'm not sure what broke this, but in some cases, DialogModule doesn't get subscribed to LifecycleEventListener events. This seems to fix it. Changelog: [Internal] Reviewed By: mdvacca, RSNara Differential Revision: D26856016 fbshipit-source-id: 868baf102b85b202180adcbb8bb181dfe603188f --- .../facebook/react/modules/dialog/DialogModule.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java index 664b359a27b..fe1d2bf24f8 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java @@ -156,7 +156,7 @@ public class DialogModule extends NativeDialogManagerAndroidSpec implements Life @Override public void initialize() { - getReactApplicationContext().addLifecycleEventListener(this); + getReactApplicationContext().addLifecycleEventListenerAndCheckState(this); } @Override @@ -240,4 +240,14 @@ public class DialogModule extends NativeDialogManagerAndroidSpec implements Life } return new FragmentManagerHelper(((FragmentActivity) activity).getSupportFragmentManager()); } + + @Override + public void onCatalystInstanceDestroy() { + super.onCatalystInstanceDestroy(); + + ReactApplicationContext applicationContext = getReactApplicationContextIfActiveOrWarn(); + if (applicationContext != null) { + applicationContext.removeLifecycleEventListener(this); + } + } }