Skip to content

Commit f345fcf

Browse files
Support onKeyLongPress in Bridgeless (#43472)
Summary: Pull Request resolved: #43472 Implement `onKeyLongPress` in Bridgeless Changelog: [Android][Breaking] Implement onKeyLongPress in Bridgeless Reviewed By: cortinico Differential Revision: D54876052 fbshipit-source-id: 88d572eab087d913205bdfa02dba96b169066393
1 parent b14f7d5 commit f345fcf

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

packages/react-native/ReactAndroid/api/ReactAndroid.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ public class com/facebook/react/ReactDelegate {
155155
public fun onHostPause ()V
156156
public fun onHostResume ()V
157157
public fun onKeyDown (ILandroid/view/KeyEvent;)Z
158+
public fun onKeyLongPress (I)Z
158159
public fun onNewIntent (Landroid/content/Intent;)Z
159160
public fun onWindowFocusChanged (Z)V
160161
public fun shouldShowDevMenuOrReload (ILandroid/view/KeyEvent;)Z

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

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -155,17 +155,7 @@ public boolean onKeyUp(int keyCode, KeyEvent event) {
155155
}
156156

157157
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
158-
if (ReactFeatureFlags.enableBridgelessArchitecture) {
159-
// TODO T156475655: support onKeyLongPress
160-
} else {
161-
if (getReactNativeHost().hasInstance()
162-
&& getReactNativeHost().getUseDeveloperSupport()
163-
&& keyCode == KeyEvent.KEYCODE_MEDIA_FAST_FORWARD) {
164-
getReactNativeHost().getReactInstanceManager().showDevOptionsDialog();
165-
return true;
166-
}
167-
}
168-
return false;
158+
return mReactDelegate.onKeyLongPress(keyCode);
169159
}
170160

171161
public boolean onBackPressed() {

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,23 @@ && getReactNativeHost().getUseDeveloperSupport()))) {
197197
return false;
198198
}
199199

200+
public boolean onKeyLongPress(int keyCode) {
201+
if (keyCode == KeyEvent.KEYCODE_MEDIA_FAST_FORWARD) {
202+
if (ReactFeatureFlags.enableBridgelessArchitecture
203+
&& mReactHost != null
204+
&& mReactHost.getDevSupportManager() != null) {
205+
mReactHost.getDevSupportManager().showDevOptionsDialog();
206+
return true;
207+
} else {
208+
if (getReactNativeHost().hasInstance() && getReactNativeHost().getUseDeveloperSupport()) {
209+
getReactNativeHost().getReactInstanceManager().showDevOptionsDialog();
210+
return true;
211+
}
212+
}
213+
}
214+
return false;
215+
}
216+
200217
public void loadApp() {
201218
loadApp(mMainComponentName);
202219
}

0 commit comments

Comments
 (0)