diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java index 79baa4efb7aae0..b5b8ebb474934b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java @@ -276,11 +276,11 @@ public void onHostResume(final @Nullable Activity activity) { final String method = "onHostResume(activity)"; log(method); - mActivity.set(activity); + setCurrentActivity(activity); ReactContext currentContext = getCurrentReactContext(); // TODO(T137233065): Enable DevSupportManager here - mReactLifecycleStateManager.moveToOnHostResume(currentContext, mActivity.get()); + mReactLifecycleStateManager.moveToOnHostResume(currentContext, getCurrentActivity()); } @ThreadConfined(UI) @@ -291,7 +291,7 @@ public void onHostPause(final @Nullable Activity activity) { ReactContext currentContext = getCurrentReactContext(); - Activity currentActivity = mActivity.get(); + Activity currentActivity = getCurrentActivity(); if (currentActivity != null) { String currentActivityClass = currentActivity.getClass().getSimpleName(); String activityClass = activity == null ? "null" : activity.getClass().getSimpleName(); @@ -321,7 +321,7 @@ public void onHostPause() { // TODO(T137233065): Disable DevSupportManager here mDefaultHardwareBackBtnHandler = null; - mReactLifecycleStateManager.moveToOnHostPause(currentContext, mActivity.get()); + mReactLifecycleStateManager.moveToOnHostPause(currentContext, getCurrentActivity()); } /** To be called when the host activity is destroyed. */ @@ -341,7 +341,7 @@ public void onHostDestroy(@Nullable Activity activity) { final String method = "onHostDestroy(activity)"; log(method); - Activity currentActivity = mActivity.get(); + Activity currentActivity = getCurrentActivity(); // TODO(T137233065): Disable DevSupportManager here if (currentActivity == activity) { @@ -504,6 +504,10 @@ private MemoryPressureListener createMemoryPressureListener(ReactInstance reactI return mActivity.get(); } + private void setCurrentActivity(@Nullable Activity activity) { + mActivity.set(activity); + } + /** * Get the {@link EventDispatcher} from the {@link FabricUIManager}. This always returns an * EventDispatcher, even if the instance isn't alive; in that case, it returns a {@link @@ -726,7 +730,7 @@ private Task newStart() { @ThreadConfined(UI) private void moveToHostDestroy(@Nullable ReactContext currentContext) { mReactLifecycleStateManager.moveToOnHostDestroy(currentContext); - mActivity.set(null); + setCurrentActivity(null); } private void raiseSoftException(String method, String message) { @@ -946,14 +950,15 @@ class Result { * screen in the past, or (2) We must be on a React Native screen. */ if (isReloading && !isManagerResumed) { - mReactLifecycleStateManager.moveToOnHostResume(reactContext, mActivity.get()); + mReactLifecycleStateManager.moveToOnHostResume( + reactContext, getCurrentActivity()); } else { /** * Call ReactContext.onHostResume() only when already in the resumed state * which aligns with the bridge https://fburl.com/diffusion/2qhxmudv. */ mReactLifecycleStateManager.resumeReactContextIfHostResumed( - reactContext, mActivity.get()); + reactContext, getCurrentActivity()); } ReactInstanceEventListener[] listeners = @@ -1033,7 +1038,7 @@ private Task oldGetOrCreateReactInstanceTask() { aligns with the bridge https://fburl.com/diffusion/2qhxmudv. */ mReactLifecycleStateManager.resumeReactContextIfHostResumed( - reactContext, mActivity.get()); + reactContext, getCurrentActivity()); ReactInstanceEventListener[] listeners = new ReactInstanceEventListener[mReactInstanceEventListeners.size()]; @@ -1410,7 +1415,7 @@ private Task newGetOrCreateDestroyTask(final String reason, @Nullable Exce } // Reset current activity - mActivity.set(null); + setCurrentActivity(null); // Clear ResourceIdleDrawableIdMap ResourceDrawableIdHelper.getInstance().clear();