From 5b4dea0fc781fe40548e7b58fe5bd201a05f3913 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 6 Jun 2023 14:35:19 +0800 Subject: 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): * java/org/gnu/emacs/EmacsService.java (class Holder) (getEmacsView, EmacsService): Rename `Holder' to `EmacsHolder' and make it public. --- java/org/gnu/emacs/EmacsDialog.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'java/org/gnu/emacs/EmacsDialog.java') 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 rc; + final EmacsHolder rc; - rc = new Holder (); + rc = new EmacsHolder (); runnable = new Runnable () { @Override public void -- cgit v1.3