Skip to content

Commit a2d277f

Browse files
javachefacebook-github-bot
authored andcommitted
Flag missing DefaultHardwareBackBtnHandler interface in bridgeless too (#43487)
Summary: Pull Request resolved: #43487 Inconsistent between bridge and bridgeless, but if you forget to implement this interface, ReactDelegate will silently not do anything in bridgeless. Changelog: [Android] Enforce Activities using ReactDelegate implement DefaultHardwareBackBtnHandler. Reviewed By: arushikesarwani94 Differential Revision: D54900747 fbshipit-source-id: 5dd31d4f81e4ec37e1c3ee906be836a8a9c6a944
1 parent f345fcf commit a2d277f

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,20 +82,17 @@ public ReactDelegate(
8282
}
8383

8484
public void onHostResume() {
85+
if (!(mActivity instanceof DefaultHardwareBackBtnHandler)) {
86+
throw new ClassCastException(
87+
"Host Activity does not implement DefaultHardwareBackBtnHandler");
88+
}
8589
if (ReactFeatureFlags.enableBridgelessArchitecture) {
86-
if (mActivity instanceof DefaultHardwareBackBtnHandler) {
87-
mReactHost.onHostResume(mActivity, (DefaultHardwareBackBtnHandler) mActivity);
88-
}
90+
mReactHost.onHostResume(mActivity, (DefaultHardwareBackBtnHandler) mActivity);
8991
} else {
9092
if (getReactNativeHost().hasInstance()) {
91-
if (mActivity instanceof DefaultHardwareBackBtnHandler) {
92-
getReactNativeHost()
93-
.getReactInstanceManager()
94-
.onHostResume(mActivity, (DefaultHardwareBackBtnHandler) mActivity);
95-
} else {
96-
throw new ClassCastException(
97-
"Host Activity does not implement DefaultHardwareBackBtnHandler");
98-
}
93+
getReactNativeHost()
94+
.getReactInstanceManager()
95+
.onHostResume(mActivity, (DefaultHardwareBackBtnHandler) mActivity);
9996
}
10097
}
10198
}

0 commit comments

Comments
 (0)