From e6efa55bd54263414b0c6bbe8e1b5343e2c4401e Mon Sep 17 00:00:00 2001 From: CrazyBigTree <38024878+HSC1314520@users.noreply.github.com> Date: Tue, 10 Dec 2024 20:42:34 +0800 Subject: [PATCH] fix: check module activity null pointer. (#457) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 黄世城 --- .../java/cn/reactnative/modules/update/UpdateModuleImpl.java | 5 +++-- .../oldarch/cn/reactnative/modules/update/UpdateModule.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java b/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java index 5ea8ebe..ccfa7d4 100644 --- a/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java +++ b/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java @@ -1,7 +1,7 @@ package cn.reactnative.modules.update; import android.app.Activity; -import android.app.Application; +import android.content.Context; import android.util.Log; import com.facebook.react.ReactApplication; import com.facebook.react.ReactInstanceManager; @@ -117,7 +117,7 @@ public class UpdateModuleImpl { public void run() { try { updateContext.switchVersion(hash); - final Application application = (Application) getReactApplicationContext().getApplicationContext(); + final Context application = mContext.getApplicationContext(); ReactInstanceManager instanceManager = updateContext.getCustomReactInstanceManager(); if (instanceManager == null) { @@ -141,6 +141,7 @@ public class UpdateModuleImpl { promise.resolve(true); } catch (Throwable err) { promise.reject("pushy:"+err.getMessage()); + final Activity activity = mContext.getCurrentActivity(); if (activity != null) { activity.recreate(); } diff --git a/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java b/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java index 2030be8..c1f2fcf 100644 --- a/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +++ b/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java @@ -1,7 +1,7 @@ package cn.reactnative.modules.update; import android.app.Activity; -import android.app.Application; +import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build; @@ -176,7 +176,7 @@ public class UpdateModule extends ReactContextBaseJavaModule { public void run() { try { updateContext.switchVersion(hash); - final Application application = (Application) getReactApplicationContext().getApplicationContext(); + final Context application = getReactApplicationContext().getApplicationContext(); ReactInstanceManager instanceManager = updateContext.getCustomReactInstanceManager(); if (instanceManager == null) { @@ -199,6 +199,7 @@ public class UpdateModule extends ReactContextBaseJavaModule { instanceManager.recreateReactContextInBackground(); promise.resolve(null); } catch (Throwable err) { + final Activity activity = getCurrentActivity(); if (activity != null) { activity.recreate(); }