summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsDialog.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-06-06 14:35:19 +0800
committerPo Lu <luangruo@yahoo.com>2023-06-06 14:35:19 +0800
commit5b4dea0fc781fe40548e7b58fe5bd201a05f3913 (patch)
treee005baf57dcbf33a0755ab706d9dfa5395a6b70b /java/org/gnu/emacs/EmacsDialog.java
parent5f09df3d6a359fabb2485c83549a0176a0ba2796 (diff)
Update Android port
* java/org/gnu/emacs/EmacsContextMenu.java (display): Use `EmacsHolder' instead of `Holder'. * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Use `EmacsDialogButtonLayout' to ensure that buttons are wrapped properly. (display): Adjust for new holder class. * java/org/gnu/emacs/EmacsDialogButtonLayout.java (EmacsDialogButtonLayout, onMeasure, onLayout): New functions. * java/org/gnu/emacs/EmacsDrawLine.java: * java/org/gnu/emacs/EmacsFillPolygon.java: Remove redundant imports. * java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>): * java/org/gnu/emacs/EmacsService.java (class Holder<T>) (getEmacsView, EmacsService): Rename `Holder' to `EmacsHolder' and make it public.
Diffstat (limited to 'java/org/gnu/emacs/EmacsDialog.java')
-rw-r--r--java/org/gnu/emacs/EmacsDialog.java17
1 files changed, 7 insertions, 10 deletions
diff --git a/java/org/gnu/emacs/EmacsDialog.java b/java/org/gnu/emacs/EmacsDialog.java
index 3a5f22021fc..afdce3c50ec 100644
--- a/java/org/gnu/emacs/EmacsDialog.java
+++ b/java/org/gnu/emacs/EmacsDialog.java
@@ -150,7 +150,7 @@ public final class EmacsDialog implements DialogInterface.OnDismissListener
AlertDialog dialog;
int size;
EmacsButton button;
- LinearLayout layout;
+ EmacsDialogButtonLayout layout;
Button buttonView;
ViewGroup.LayoutParams layoutParams;
@@ -192,19 +192,16 @@ public final class EmacsDialog implements DialogInterface.OnDismissListener
}
else
{
- /* There are more than 4 buttons. Add them all to a
- LinearLayout. */
- layout = new LinearLayout (context);
- layoutParams
- = new LinearLayout.LayoutParams (ViewGroup.LayoutParams.WRAP_CONTENT,
- ViewGroup.LayoutParams.WRAP_CONTENT);
+ /* There are more than 3 buttons. Add them all to a special
+ container widget that handles wrapping. */
+
+ layout = new EmacsDialogButtonLayout (context);
for (EmacsButton emacsButton : buttons)
{
buttonView = new Button (context);
buttonView.setText (emacsButton.name);
buttonView.setOnClickListener (emacsButton);
- buttonView.setLayoutParams (layoutParams);
buttonView.setEnabled (emacsButton.enabled);
layout.addView (buttonView);
}
@@ -336,9 +333,9 @@ public final class EmacsDialog implements DialogInterface.OnDismissListener
display ()
{
Runnable runnable;
- final Holder<Boolean> rc;
+ final EmacsHolder<Boolean> rc;
- rc = new Holder<Boolean> ();
+ rc = new EmacsHolder<Boolean> ();
runnable = new Runnable () {
@Override
public void