Skip to content

Commit b14f7d5

Browse files
Support onKeyDown in Bridgeless (#43466)
Summary: Pull Request resolved: #43466 Implement `onKeyDown` in Bridgeless by adding it to ReactHostImpl Changelog: [Android][Breaking] Implement `onKeyDown` in Bridgeless Reviewed By: cortinico Differential Revision: D54870966 fbshipit-source-id: 0f8e48b29679f1bca92f6ac7b6ebf1592cdc5dac
1 parent 9700540 commit b14f7d5

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ public class com/facebook/react/ReactDelegate {
154154
public fun onHostDestroy ()V
155155
public fun onHostPause ()V
156156
public fun onHostResume ()V
157+
public fun onKeyDown (ILandroid/view/KeyEvent;)Z
157158
public fun onNewIntent (Landroid/content/Intent;)Z
158159
public fun onWindowFocusChanged (Z)V
159160
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
@@ -147,17 +147,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
147147
}
148148

149149
public boolean onKeyDown(int keyCode, KeyEvent event) {
150-
if (ReactFeatureFlags.enableBridgelessArchitecture) {
151-
// TODO T156475655: support onKeyDown
152-
} else {
153-
if (getReactNativeHost().hasInstance()
154-
&& getReactNativeHost().getUseDeveloperSupport()
155-
&& keyCode == KeyEvent.KEYCODE_MEDIA_FAST_FORWARD) {
156-
event.startTracking();
157-
return true;
158-
}
159-
}
160-
return false;
150+
return mReactDelegate.onKeyDown(keyCode, event);
161151
}
162152

163153
public boolean onKeyUp(int keyCode, KeyEvent event) {

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,19 @@ public void onConfigurationChanged(Configuration newConfig) {
184184
}
185185
}
186186

187+
public boolean onKeyDown(int keyCode, KeyEvent event) {
188+
if (keyCode == KeyEvent.KEYCODE_MEDIA_FAST_FORWARD
189+
&& ((ReactFeatureFlags.enableBridgelessArchitecture
190+
&& mReactHost != null
191+
&& mReactHost.getDevSupportManager() != null)
192+
|| (getReactNativeHost().hasInstance()
193+
&& getReactNativeHost().getUseDeveloperSupport()))) {
194+
event.startTracking();
195+
return true;
196+
}
197+
return false;
198+
}
199+
187200
public void loadApp() {
188201
loadApp(mMainComponentName);
189202
}

0 commit comments

Comments
 (0)