mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
fix: AppRegistry not callable from Native in bridgeless (#46480)
Summary: AppRegistry was not treated as a Callable Module in bridgeless mode. This is breaking headless tasks on Android. Fixes: - https://github.com/facebook/react-native/issues/46050 ## Changelog: [ANDROID] [FIXED] - Made AppRegistry callable from Native code in Bridgeless (fixes headless tasks) Pull Request resolved: https://github.com/facebook/react-native/pull/46480 Test Plan: Used repro from linked issue Reviewed By: javache Differential Revision: D62637486 Pulled By: cortinico fbshipit-source-id: 756527003ac6d712e76c02c188e280d15c010068
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b98b9f1fa7
commit
f3fee67c54
@@ -13,7 +13,7 @@ import type {RootTag} from '../Types/RootTagTypes';
|
||||
import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
|
||||
import type {DisplayModeType} from './DisplayMode';
|
||||
|
||||
import BatchedBridge from '../BatchedBridge/BatchedBridge';
|
||||
import registerCallableModule from '../Core/registerCallableModule';
|
||||
import BugReporting from '../BugReporting/BugReporting';
|
||||
import createPerformanceLogger from '../Utilities/createPerformanceLogger';
|
||||
import infoLog from '../Utilities/infoLog';
|
||||
@@ -363,8 +363,8 @@ global.RN$SurfaceRegistry = {
|
||||
|
||||
if (global.RN$Bridgeless === true) {
|
||||
console.log('Bridgeless mode is enabled');
|
||||
} else {
|
||||
BatchedBridge.registerCallableModule('AppRegistry', AppRegistry);
|
||||
}
|
||||
|
||||
registerCallableModule('AppRegistry', AppRegistry);
|
||||
|
||||
module.exports = AppRegistry;
|
||||
|
||||
+4
-8
@@ -124,15 +124,11 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
ReactContext reactContext = getReactContext();
|
||||
|
||||
if (getReactNativeHost().hasInstance()) {
|
||||
ReactInstanceManager reactInstanceManager = getReactNativeHost().getReactInstanceManager();
|
||||
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
||||
if (reactContext != null) {
|
||||
HeadlessJsTaskContext headlessJsTaskContext =
|
||||
HeadlessJsTaskContext.getInstance(reactContext);
|
||||
headlessJsTaskContext.removeTaskEventListener(this);
|
||||
}
|
||||
if (reactContext != null) {
|
||||
HeadlessJsTaskContext headlessJsTaskContext = HeadlessJsTaskContext.getInstance(reactContext);
|
||||
headlessJsTaskContext.removeTaskEventListener(this);
|
||||
}
|
||||
if (sWakeLock != null) {
|
||||
sWakeLock.release();
|
||||
|
||||
Reference in New Issue
Block a user