diff options
| author | Po Lu | 2025-03-03 21:57:05 +0800 |
|---|---|---|
| committer | Po Lu | 2025-03-03 21:59:41 +0800 |
| commit | 96d26b493618f59bbdd4de86be65e784735541c8 (patch) | |
| tree | eb1cc7d32aeea967c3676fb8a86b95b8866098f5 /java/org | |
| parent | f372508f68c9797f8d17cce0293526f3f30cb4c4 (diff) | |
| download | emacs-96d26b493618f59bbdd4de86be65e784735541c8.tar.gz emacs-96d26b493618f59bbdd4de86be65e784735541c8.zip | |
Fix styling issues on Android 15 QPR1
* java/org/gnu/emacs/EmacsView.java (EmacsView): Guarantee that
frame views are created with the correct theme.
* java/res/values-v20/style.xml (EmacsStyle):
* java/res/values-v29/style.xml (EmacsStyle): Disable a swiping
gesture enabled on certain Android systems.
* java/res/values-v35/style.xml: Rename from `styles'.xml.
Diffstat (limited to 'java/org')
| -rw-r--r-- | java/org/gnu/emacs/EmacsView.java | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java index 5abea711506..938e2a21d1a 100644 --- a/java/org/gnu/emacs/EmacsView.java +++ b/java/org/gnu/emacs/EmacsView.java | |||
| @@ -24,10 +24,11 @@ import android.content.Context; | |||
| 24 | import android.text.InputType; | 24 | import android.text.InputType; |
| 25 | 25 | ||
| 26 | import android.view.ContextMenu; | 26 | import android.view.ContextMenu; |
| 27 | import android.view.ContextThemeWrapper; | ||
| 27 | import android.view.DragEvent; | 28 | import android.view.DragEvent; |
| 28 | import android.view.View; | ||
| 29 | import android.view.KeyEvent; | 29 | import android.view.KeyEvent; |
| 30 | import android.view.MotionEvent; | 30 | import android.view.MotionEvent; |
| 31 | import android.view.View; | ||
| 31 | import android.view.ViewGroup; | 32 | import android.view.ViewGroup; |
| 32 | import android.view.ViewTreeObserver; | 33 | import android.view.ViewTreeObserver; |
| 33 | import android.view.WindowInsets; | 34 | import android.view.WindowInsets; |
| @@ -127,32 +128,36 @@ public final class EmacsView extends ViewGroup | |||
| 127 | public | 128 | public |
| 128 | EmacsView (EmacsWindow window) | 129 | EmacsView (EmacsWindow window) |
| 129 | { | 130 | { |
| 130 | super (EmacsService.SERVICE); | 131 | /* This is required to guarantee that popup menus respect the |
| 131 | 132 | default style. */ | |
| 132 | Object tem; | 133 | super (new ContextThemeWrapper (EmacsService.SERVICE, |
| 133 | Context context; | 134 | R.style.EmacsStyle)); |
| 135 | { | ||
| 136 | Object tem; | ||
| 137 | Context context; | ||
| 134 | 138 | ||
| 135 | this.window = window; | 139 | this.window = window; |
| 136 | this.damageRegion = new Region (); | 140 | this.damageRegion = new Region (); |
| 137 | 141 | ||
| 138 | setFocusable (true); | 142 | setFocusable (true); |
| 139 | setFocusableInTouchMode (true); | 143 | setFocusableInTouchMode (true); |
| 140 | 144 | ||
| 141 | /* Create the surface view. */ | 145 | /* Create the surface view. */ |
| 142 | this.surfaceView = new EmacsSurfaceView (this); | 146 | this.surfaceView = new EmacsSurfaceView (this); |
| 143 | addView (this.surfaceView); | 147 | addView (this.surfaceView); |
| 144 | 148 | ||
| 145 | /* Get rid of the default focus highlight. */ | 149 | /* Get rid of the default focus highlight. */ |
| 146 | if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) | 150 | if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) |
| 147 | setDefaultFocusHighlightEnabled (false); | 151 | setDefaultFocusHighlightEnabled (false); |
| 148 | 152 | ||
| 149 | /* Obtain the input method manager. */ | 153 | /* Obtain the input method manager. */ |
| 150 | context = getContext (); | 154 | context = getContext (); |
| 151 | tem = context.getSystemService (Context.INPUT_METHOD_SERVICE); | 155 | tem = context.getSystemService (Context.INPUT_METHOD_SERVICE); |
| 152 | imManager = (InputMethodManager) tem; | 156 | imManager = (InputMethodManager) tem; |
| 153 | 157 | ||
| 154 | /* Add this view as its own global layout listener. */ | 158 | /* Add this view as its own global layout listener. */ |
| 155 | getViewTreeObserver ().addOnGlobalLayoutListener (this); | 159 | getViewTreeObserver ().addOnGlobalLayoutListener (this); |
| 160 | } | ||
| 156 | } | 161 | } |
| 157 | 162 | ||
| 158 | private void | 163 | private void |