From 0091fd6b59c08c0ad9f4bae8d1b769dde471f815 Mon Sep 17 00:00:00 2001 From: Julian Winkler Date: Sun, 26 Jan 2025 18:27:27 +0100 Subject: [PATCH] stub FocusFinder to fix crash when pressing arrow keys Since we now have basic support for keyboard input, new code paths can be reached. For example in the ViewPager in the MainActivity of NewPipe. --- src/api-impl/android/view/FocusFinder.java | 12 ++++++++++++ src/api-impl/android/view/SoundEffectConstants.java | 9 +++++++++ src/api-impl/meson.build | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 src/api-impl/android/view/FocusFinder.java create mode 100644 src/api-impl/android/view/SoundEffectConstants.java diff --git a/src/api-impl/android/view/FocusFinder.java b/src/api-impl/android/view/FocusFinder.java new file mode 100644 index 00000000..60cada3e --- /dev/null +++ b/src/api-impl/android/view/FocusFinder.java @@ -0,0 +1,12 @@ +package android.view; + +public class FocusFinder { + + public static FocusFinder getInstance() { + return new FocusFinder(); + } + + public View findNextFocus(ViewGroup root, View focused, int direction) { + return null; + } +} diff --git a/src/api-impl/android/view/SoundEffectConstants.java b/src/api-impl/android/view/SoundEffectConstants.java new file mode 100644 index 00000000..dc1752b1 --- /dev/null +++ b/src/api-impl/android/view/SoundEffectConstants.java @@ -0,0 +1,9 @@ +package android.view; + +public class SoundEffectConstants { + + // the typo is part of the API + public static int getContantForFocusDirection(int direction) { + return 0; + } +} diff --git a/src/api-impl/meson.build b/src/api-impl/meson.build index 7332a4f7..5f4dd669 100644 --- a/src/api-impl/meson.build +++ b/src/api-impl/meson.build @@ -460,6 +460,7 @@ srcs = [ 'android/view/Choreographer.java', 'android/view/ContextThemeWrapper.java', 'android/view/Display.java', + 'android/view/FocusFinder.java', 'android/view/GestureDetector.java', 'android/view/HardwareCanvas.java', 'android/view/Gravity.java', @@ -476,6 +477,7 @@ srcs = [ 'android/view/MotionEvent.java', 'android/view/PointerIcon.java', 'android/view/ScaleGestureDetector.java', + 'android/view/SoundEffectConstants.java', 'android/view/SubMenu.java', 'android/view/Surface.java', 'android/view/SurfaceHolder.java',