emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/android 1cae4648593 1/2: Update Android port


From: Po Lu
Subject: feature/android 1cae4648593 1/2: Update Android port
Date: Sun, 5 Mar 2023 07:17:24 -0500 (EST)

branch: feature/android
commit 1cae464859341bfd5fc7d7ed4b503ef959af81dd
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Update Android port
    
    * java/org/gnu/emacs/EmacsActivity.java (onCreate):
    * java/org/gnu/emacs/EmacsContextMenu.java:
    * java/org/gnu/emacs/EmacsDocumentsProvider.java (getMimeType):
    * java/org/gnu/emacs/EmacsDrawLine.java (perform):
    * java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
    * java/org/gnu/emacs/EmacsFillPolygon.java:
    * java/org/gnu/emacs/EmacsFontDriver.java:
    * java/org/gnu/emacs/EmacsHandleObject.java:
    * java/org/gnu/emacs/EmacsInputConnection.java:
    * java/org/gnu/emacs/EmacsMultitaskActivity.java
    (EmacsMultitaskActivity):
    * java/org/gnu/emacs/EmacsNative.java:
    * java/org/gnu/emacs/EmacsNoninteractive.java
    (EmacsNoninteractive, main):
    * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
    (startEmacsClient):
    * java/org/gnu/emacs/EmacsSdk7FontDriver.java:
    * java/org/gnu/emacs/EmacsSdk8Clipboard.java:
    * java/org/gnu/emacs/EmacsService.java (EmacsService, onCreate):
    * java/org/gnu/emacs/EmacsView.java (EmacsView, onLayout):
    * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow):
    * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
    (EmacsWindowAttachmentManager): Remove redundant includes.
    Reorganize some functions around, remove duplicate `getLibDir'
    functions, and remove unused local variables.
---
 java/org/gnu/emacs/EmacsActivity.java              | 13 ++++--
 java/org/gnu/emacs/EmacsContextMenu.java           |  3 --
 java/org/gnu/emacs/EmacsDocumentsProvider.java     |  4 +-
 java/org/gnu/emacs/EmacsDrawLine.java              |  5 ---
 java/org/gnu/emacs/EmacsDrawRectangle.java         |  1 -
 java/org/gnu/emacs/EmacsFillPolygon.java           |  1 -
 java/org/gnu/emacs/EmacsFontDriver.java            |  2 -
 java/org/gnu/emacs/EmacsHandleObject.java          |  3 --
 java/org/gnu/emacs/EmacsInputConnection.java       |  9 +---
 java/org/gnu/emacs/EmacsMultitaskActivity.java     |  6 ++-
 java/org/gnu/emacs/EmacsNative.java                |  2 -
 java/org/gnu/emacs/EmacsNoninteractive.java        | 18 +-------
 java/org/gnu/emacs/EmacsOpenActivity.java          | 20 +--------
 java/org/gnu/emacs/EmacsSdk7FontDriver.java        |  3 --
 java/org/gnu/emacs/EmacsSdk8Clipboard.java         |  4 +-
 java/org/gnu/emacs/EmacsService.java               | 49 ++++++++--------------
 java/org/gnu/emacs/EmacsView.java                  |  7 ++--
 java/org/gnu/emacs/EmacsWindow.java                | 15 +++----
 .../gnu/emacs/EmacsWindowAttachmentManager.java    |  5 +--
 19 files changed, 53 insertions(+), 117 deletions(-)

diff --git a/java/org/gnu/emacs/EmacsActivity.java 
b/java/org/gnu/emacs/EmacsActivity.java
index 13002d5d0e5..692d8a14e22 100644
--- a/java/org/gnu/emacs/EmacsActivity.java
+++ b/java/org/gnu/emacs/EmacsActivity.java
@@ -24,18 +24,22 @@ import java.util.List;
 import java.util.ArrayList;
 
 import android.app.Activity;
+
 import android.content.Context;
 import android.content.Intent;
+
 import android.os.Build;
 import android.os.Bundle;
+
 import android.util.Log;
+
 import android.view.Menu;
 import android.view.View;
 import android.view.ViewTreeObserver;
 import android.view.Window;
 import android.view.WindowInsets;
 import android.view.WindowInsetsController;
-import android.widget.FrameLayout.LayoutParams;
+
 import android.widget.FrameLayout;
 
 public class EmacsActivity extends Activity
@@ -187,6 +191,7 @@ public class EmacsActivity extends Activity
     Intent intent;
     View decorView;
     ViewTreeObserver observer;
+    int matchParent;
 
     /* See if Emacs should be started with -Q.  */
     intent = getIntent ();
@@ -194,8 +199,10 @@ public class EmacsActivity extends Activity
       = intent.getBooleanExtra ("org.gnu.emacs.START_DASH_Q",
                                false);
 
-    params = new FrameLayout.LayoutParams (LayoutParams.MATCH_PARENT,
-                                          LayoutParams.MATCH_PARENT);
+    matchParent = FrameLayout.LayoutParams.MATCH_PARENT;
+    params
+      = new FrameLayout.LayoutParams (matchParent,
+                                     matchParent);
 
     /* Make the frame layout.  */
     layout = new FrameLayout (this);
diff --git a/java/org/gnu/emacs/EmacsContextMenu.java 
b/java/org/gnu/emacs/EmacsContextMenu.java
index d1a624e68d9..dec5e148a8e 100644
--- a/java/org/gnu/emacs/EmacsContextMenu.java
+++ b/java/org/gnu/emacs/EmacsContextMenu.java
@@ -25,7 +25,6 @@ import java.util.ArrayList;
 import android.content.Context;
 import android.content.Intent;
 
-import android.os.Bundle;
 import android.os.Build;
 
 import android.view.Menu;
@@ -35,8 +34,6 @@ import android.view.SubMenu;
 
 import android.util.Log;
 
-import android.widget.PopupMenu;
-
 /* Context menu implementation.  This object is built from JNI and
    describes a menu hiearchy.  Then, `inflate' can turn it into an
    Android menu, which can be turned into a popup (or other kind of)
diff --git a/java/org/gnu/emacs/EmacsDocumentsProvider.java 
b/java/org/gnu/emacs/EmacsDocumentsProvider.java
index 901c3b909e0..f70da6040ff 100644
--- a/java/org/gnu/emacs/EmacsDocumentsProvider.java
+++ b/java/org/gnu/emacs/EmacsDocumentsProvider.java
@@ -160,6 +160,7 @@ public final class EmacsDocumentsProvider extends 
DocumentsProvider
   {
     String name, extension, mime;
     int extensionSeparator;
+    MimeTypeMap singleton;
 
     if (file.isDirectory ())
       return Document.MIME_TYPE_DIR;
@@ -170,8 +171,9 @@ public final class EmacsDocumentsProvider extends 
DocumentsProvider
 
     if (extensionSeparator > 0)
       {
+       singleton = MimeTypeMap.getSingleton ();
        extension = name.substring (extensionSeparator + 1);
-       mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension (extension);
+       mime = singleton.getMimeTypeFromExtension (extension);
 
        if (mime != null)
          return mime;
diff --git a/java/org/gnu/emacs/EmacsDrawLine.java 
b/java/org/gnu/emacs/EmacsDrawLine.java
index 0b23138a36c..92e03c48e26 100644
--- a/java/org/gnu/emacs/EmacsDrawLine.java
+++ b/java/org/gnu/emacs/EmacsDrawLine.java
@@ -21,13 +21,9 @@ package org.gnu.emacs;
 
 import java.lang.Math;
 
-import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Paint;
-import android.graphics.PorterDuff.Mode;
-import android.graphics.PorterDuffXfermode;
 import android.graphics.Rect;
-import android.graphics.Xfermode;
 
 public final class EmacsDrawLine
 {
@@ -38,7 +34,6 @@ public final class EmacsDrawLine
     Rect rect;
     Canvas canvas;
     Paint paint;
-    int i;
 
     /* TODO implement stippling.  */
     if (gc.fill_style == EmacsGC.GC_FILL_OPAQUE_STIPPLED)
diff --git a/java/org/gnu/emacs/EmacsDrawRectangle.java 
b/java/org/gnu/emacs/EmacsDrawRectangle.java
index ce5e94e4a76..3bd5779c54e 100644
--- a/java/org/gnu/emacs/EmacsDrawRectangle.java
+++ b/java/org/gnu/emacs/EmacsDrawRectangle.java
@@ -33,7 +33,6 @@ public final class EmacsDrawRectangle
   perform (EmacsDrawable drawable, EmacsGC gc,
           int x, int y, int width, int height)
   {
-    int i;
     Paint maskPaint, paint;
     Canvas maskCanvas;
     Bitmap maskBitmap;
diff --git a/java/org/gnu/emacs/EmacsFillPolygon.java 
b/java/org/gnu/emacs/EmacsFillPolygon.java
index d55a0b3aca8..ea8324c543c 100644
--- a/java/org/gnu/emacs/EmacsFillPolygon.java
+++ b/java/org/gnu/emacs/EmacsFillPolygon.java
@@ -21,7 +21,6 @@ package org.gnu.emacs;
 
 import java.lang.Math;
 
-import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Paint;
 import android.graphics.Path;
diff --git a/java/org/gnu/emacs/EmacsFontDriver.java 
b/java/org/gnu/emacs/EmacsFontDriver.java
index e142a3121d3..ff52899a897 100644
--- a/java/org/gnu/emacs/EmacsFontDriver.java
+++ b/java/org/gnu/emacs/EmacsFontDriver.java
@@ -19,8 +19,6 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 
 package org.gnu.emacs;
 
-import java.util.List;
-
 import android.os.Build;
 
 /* This code is mostly unused.  See sfntfont-android.c for the code
diff --git a/java/org/gnu/emacs/EmacsHandleObject.java 
b/java/org/gnu/emacs/EmacsHandleObject.java
index a57a3bbdfa9..5b889895337 100644
--- a/java/org/gnu/emacs/EmacsHandleObject.java
+++ b/java/org/gnu/emacs/EmacsHandleObject.java
@@ -19,9 +19,6 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 
 package org.gnu.emacs;
 
-import java.util.List;
-import java.util.ArrayList;
-import java.lang.Object;
 import java.lang.IllegalStateException;
 
 /* This defines something that is a so-called ``handle''.  Handles
diff --git a/java/org/gnu/emacs/EmacsInputConnection.java 
b/java/org/gnu/emacs/EmacsInputConnection.java
index ed64c368857..7b40fcff99e 100644
--- a/java/org/gnu/emacs/EmacsInputConnection.java
+++ b/java/org/gnu/emacs/EmacsInputConnection.java
@@ -23,18 +23,13 @@ import android.view.inputmethod.BaseInputConnection;
 import android.view.inputmethod.CompletionInfo;
 import android.view.inputmethod.ExtractedText;
 import android.view.inputmethod.ExtractedTextRequest;
-import android.view.inputmethod.InputMethodManager;
-import android.view.inputmethod.SurroundingText;
 import android.view.inputmethod.TextSnapshot;
 import android.view.KeyEvent;
 
-import android.text.Editable;
-
 import android.util.Log;
 
-/* Android input methods, take number six.
-
-   See EmacsEditable for more details.  */
+/* Android input methods, take number six.  See textconv.c for more
+   details; this is more-or-less a thin wrapper around that file.  */
 
 public final class EmacsInputConnection extends BaseInputConnection
 {
diff --git a/java/org/gnu/emacs/EmacsMultitaskActivity.java 
b/java/org/gnu/emacs/EmacsMultitaskActivity.java
index dbdc99a3559..b1c48f03fba 100644
--- a/java/org/gnu/emacs/EmacsMultitaskActivity.java
+++ b/java/org/gnu/emacs/EmacsMultitaskActivity.java
@@ -19,7 +19,11 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 
 package org.gnu.emacs;
 
-public class EmacsMultitaskActivity extends EmacsActivity
+/* This class only exists because EmacsActivity is already defined as
+   an activity, and the system wants a new class in order to define a
+   new activity.  */
+
+public final class EmacsMultitaskActivity extends EmacsActivity
 {
 
 }
diff --git a/java/org/gnu/emacs/EmacsNative.java 
b/java/org/gnu/emacs/EmacsNative.java
index b1205353090..38370d60727 100644
--- a/java/org/gnu/emacs/EmacsNative.java
+++ b/java/org/gnu/emacs/EmacsNative.java
@@ -19,8 +19,6 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 
 package org.gnu.emacs;
 
-import java.lang.System;
-
 import android.content.res.AssetManager;
 import android.view.inputmethod.ExtractedText;
 import android.view.inputmethod.ExtractedTextRequest;
diff --git a/java/org/gnu/emacs/EmacsNoninteractive.java 
b/java/org/gnu/emacs/EmacsNoninteractive.java
index f365037b311..aaba74d877c 100644
--- a/java/org/gnu/emacs/EmacsNoninteractive.java
+++ b/java/org/gnu/emacs/EmacsNoninteractive.java
@@ -46,21 +46,6 @@ import java.lang.reflect.Method;
 @SuppressWarnings ("unchecked")
 public final class EmacsNoninteractive
 {
-  private static String
-  getLibraryDirectory (Context context)
-  {
-    int apiLevel;
-
-    apiLevel = Build.VERSION.SDK_INT;
-
-    if (apiLevel >= Build.VERSION_CODES.GINGERBREAD)
-      return context.getApplicationInfo().nativeLibraryDir;
-    else if (apiLevel >= Build.VERSION_CODES.DONUT)
-      return context.getApplicationInfo().dataDir + "/lib";
-
-    return "/data/data/" + context.getPackageName() + "/lib";
-  }
-
   public static void
   main (String[] args)
   {
@@ -188,7 +173,7 @@ public final class EmacsNoninteractive
        /* Now configure Emacs.  The class path should already be set.  */
 
        filesDir = context.getFilesDir ().getCanonicalPath ();
-       libDir = getLibraryDirectory (context);
+       libDir = EmacsService.getLibraryDirectory (context);
        cacheDir = context.getCacheDir ().getCanonicalPath ();
       }
     catch (Exception e)
@@ -198,6 +183,7 @@ public final class EmacsNoninteractive
        System.err.println ("and that Emacs needs adjustments in order to");
        System.err.println ("obtain required system internal resources.");
        System.err.println ("Please report this bug to bug-gnu-emacs@gnu.org.");
+       e.printStackTrace ();
 
        System.exit (1);
       }
diff --git a/java/org/gnu/emacs/EmacsOpenActivity.java 
b/java/org/gnu/emacs/EmacsOpenActivity.java
index ac643ae8a13..51335ddb2dd 100644
--- a/java/org/gnu/emacs/EmacsOpenActivity.java
+++ b/java/org/gnu/emacs/EmacsOpenActivity.java
@@ -46,7 +46,6 @@ package org.gnu.emacs;
 import android.app.AlertDialog;
 import android.app.Activity;
 
-import android.content.Context;
 import android.content.ContentResolver;
 import android.content.DialogInterface;
 import android.content.Intent;
@@ -301,23 +300,6 @@ public final class EmacsOpenActivity extends Activity
       });
   }
 
-  public String
-  getLibraryDirectory ()
-  {
-    int apiLevel;
-    Context context;
-
-    context = getApplicationContext ();
-    apiLevel = Build.VERSION.SDK_INT;
-
-    if (apiLevel >= Build.VERSION_CODES.GINGERBREAD)
-      return context.getApplicationInfo().nativeLibraryDir;
-    else if (apiLevel >= Build.VERSION_CODES.DONUT)
-      return context.getApplicationInfo().dataDir + "/lib";
-
-    return "/data/data/" + context.getPackageName() + "/lib";
-  }
-
   public void
   startEmacsClient (String fileName)
   {
@@ -327,7 +309,7 @@ public final class EmacsOpenActivity extends Activity
     EmacsClientThread thread;
     File file;
 
-    libDir = getLibraryDirectory ();
+    libDir = EmacsService.getLibraryDirectory (this);
     builder = new ProcessBuilder (libDir + "/libemacsclient.so",
                                  fileName, "--reuse-frame",
                                  "--timeout=10", "--no-wait");
diff --git a/java/org/gnu/emacs/EmacsSdk7FontDriver.java 
b/java/org/gnu/emacs/EmacsSdk7FontDriver.java
index ae91c299de8..6df102f18a2 100644
--- a/java/org/gnu/emacs/EmacsSdk7FontDriver.java
+++ b/java/org/gnu/emacs/EmacsSdk7FontDriver.java
@@ -20,7 +20,6 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 package org.gnu.emacs;
 
 import java.io.File;
-import java.io.IOException;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -32,8 +31,6 @@ import android.graphics.Canvas;
 
 import android.util.Log;
 
-import android.os.Build;
-
 public class EmacsSdk7FontDriver extends EmacsFontDriver
 {
   private static final String TOFU_STRING = "\uDB3F\uDFFD";
diff --git a/java/org/gnu/emacs/EmacsSdk8Clipboard.java 
b/java/org/gnu/emacs/EmacsSdk8Clipboard.java
index 818a722a908..5a40128b0ac 100644
--- a/java/org/gnu/emacs/EmacsSdk8Clipboard.java
+++ b/java/org/gnu/emacs/EmacsSdk8Clipboard.java
@@ -19,7 +19,9 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 
 package org.gnu.emacs;
 
-/* Importing the entire package avoids the deprecation warning.  */
+/* Importing the entire package instead of just the legacy
+   ClipboardManager class avoids the deprecation warning.  */
+
 import android.text.*;
 
 import android.content.Context;
diff --git a/java/org/gnu/emacs/EmacsService.java 
b/java/org/gnu/emacs/EmacsService.java
index d9cb25f3e9c..d05ebce75dc 100644
--- a/java/org/gnu/emacs/EmacsService.java
+++ b/java/org/gnu/emacs/EmacsService.java
@@ -24,22 +24,15 @@ import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 
 import java.util.List;
-import java.util.ArrayList;
 
-import android.graphics.Canvas;
-import android.graphics.Bitmap;
 import android.graphics.Point;
 
-import android.view.View;
 import android.view.InputDevice;
 import android.view.KeyEvent;
 
-import android.annotation.TargetApi;
-
 import android.app.Notification;
 import android.app.NotificationManager;
 import android.app.NotificationChannel;
-import android.app.PendingIntent;
 import android.app.Service;
 
 import android.content.ClipboardManager;
@@ -51,9 +44,6 @@ import android.content.pm.PackageManager.ApplicationInfoFlags;
 import android.content.pm.PackageManager;
 import android.content.res.AssetManager;
 
-import android.database.Cursor;
-import android.database.MatrixCursor;
-
 import android.hardware.input.InputManager;
 
 import android.net.Uri;
@@ -68,9 +58,6 @@ import android.os.Vibrator;
 import android.os.VibratorManager;
 import android.os.VibrationEffect;
 
-import android.provider.DocumentsContract;
-import android.provider.DocumentsContract.Document;
-
 import android.util.Log;
 import android.util.DisplayMetrics;
 
@@ -87,7 +74,6 @@ class Holder<T>
 public final class EmacsService extends Service
 {
   public static final String TAG = "EmacsService";
-  public static final int MAX_PENDING_REQUESTS = 256;
   public static volatile EmacsService SERVICE;
   public static boolean needDashQ;
 
@@ -107,6 +93,22 @@ public final class EmacsService extends Service
      information.  */
   public static final boolean DEBUG_IC = false;
 
+  /* Return the directory leading to the directory in which native
+     library files are stored on behalf of CONTEXT.  */
+
+  public static String
+  getLibraryDirectory (Context context)
+  {
+    int apiLevel;
+
+    apiLevel = Build.VERSION.SDK_INT;
+
+    if (apiLevel >= Build.VERSION_CODES.GINGERBREAD)
+      return context.getApplicationInfo ().nativeLibraryDir;
+
+    return context.getApplicationInfo ().dataDir + "/lib";
+  }
+
   @Override
   public int
   onStartCommand (Intent intent, int flags, int startId)
@@ -178,23 +180,6 @@ public final class EmacsService extends Service
       }
   }
 
-  private String
-  getLibraryDirectory ()
-  {
-    int apiLevel;
-    Context context;
-
-    context = getApplicationContext ();
-    apiLevel = Build.VERSION.SDK_INT;
-
-    if (apiLevel >= Build.VERSION_CODES.GINGERBREAD)
-      return context.getApplicationInfo().nativeLibraryDir;
-    else if (apiLevel >= Build.VERSION_CODES.DONUT)
-      return context.getApplicationInfo().dataDir + "/lib";
-
-    return "/data/data/" + context.getPackageName() + "/lib";
-  }
-
   @Override
   public void
   onCreate ()
@@ -219,7 +204,7 @@ public final class EmacsService extends Service
        /* Configure Emacs with the asset manager and other necessary
           parameters.  */
        filesDir = app_context.getFilesDir ().getCanonicalPath ();
-       libDir = getLibraryDirectory ();
+       libDir = getLibraryDirectory (this);
        cacheDir = app_context.getCacheDir ().getCanonicalPath ();
 
        /* Now provide this application's apk file, so a recursive
diff --git a/java/org/gnu/emacs/EmacsView.java 
b/java/org/gnu/emacs/EmacsView.java
index 617836d8811..aefc79c4fb7 100644
--- a/java/org/gnu/emacs/EmacsView.java
+++ b/java/org/gnu/emacs/EmacsView.java
@@ -20,7 +20,6 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 package org.gnu.emacs;
 
 import android.content.Context;
-import android.content.res.ColorStateList;
 
 import android.text.InputType;
 
@@ -116,6 +115,7 @@ public final class EmacsView extends ViewGroup
     super (EmacsService.SERVICE);
 
     Object tem;
+    Context context;
 
     this.window = window;
     this.damageRegion = new Region ();
@@ -133,7 +133,8 @@ public final class EmacsView extends ViewGroup
       setDefaultFocusHighlightEnabled (false);
 
     /* Obtain the input method manager.  */
-    tem = getContext ().getSystemService (Context.INPUT_METHOD_SERVICE);
+    context = getContext ();
+    tem = context.getSystemService (Context.INPUT_METHOD_SERVICE);
     imManager = (InputMethodManager) tem;
   }
 
@@ -281,7 +282,6 @@ public final class EmacsView extends ViewGroup
     int count, i;
     View child;
     Rect windowRect;
-    int wantedWidth, wantedHeight;
 
     count = getChildCount ();
 
@@ -422,7 +422,6 @@ public final class EmacsView extends ViewGroup
       }
   }
 
-
   /* The following two functions must not be called if the view has no
      parent, or is parented to an activity.  */
 
diff --git a/java/org/gnu/emacs/EmacsWindow.java 
b/java/org/gnu/emacs/EmacsWindow.java
index ea4cf48090d..ffc7476f010 100644
--- a/java/org/gnu/emacs/EmacsWindow.java
+++ b/java/org/gnu/emacs/EmacsWindow.java
@@ -31,19 +31,16 @@ import android.content.Context;
 import android.graphics.Rect;
 import android.graphics.Canvas;
 import android.graphics.Bitmap;
-import android.graphics.Point;
 import android.graphics.PixelFormat;
 
 import android.view.View;
 import android.view.ViewManager;
-import android.view.ViewGroup;
 import android.view.Gravity;
 import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.InputDevice;
 import android.view.WindowManager;
 
-import android.content.Intent;
 import android.util.Log;
 
 import android.os.Build;
@@ -87,7 +84,7 @@ public final class EmacsWindow extends EmacsHandleObject
   public EmacsWindow parent;
 
   /* List of all children in stacking order.  This must be kept
-     consistent!  */
+     consistent with their Z order!  */
   public ArrayList<EmacsWindow> children;
 
   /* Map between pointer identifiers and last known position.  Used to
@@ -105,9 +102,8 @@ public final class EmacsWindow extends EmacsHandleObject
      last button press or release event.  */
   public int lastButtonState, lastModifiers;
 
-  /* Whether or not the window is mapped, and whether or not it is
-     deiconified.  */
-  private boolean isMapped, isIconified;
+  /* Whether or not the window is mapped.  */
+  private boolean isMapped;
 
   /* Whether or not to ask for focus upon being mapped, and whether or
      not the window should be focusable.  */
@@ -122,7 +118,8 @@ public final class EmacsWindow extends EmacsHandleObject
   private WindowManager windowManager;
 
   /* The time of the last KEYCODE_VOLUME_DOWN release.  This is used
-     to quit Emacs.  */
+     to quit Emacs upon two rapid clicks of the volume down
+     button.  */
   private long lastVolumeButtonRelease;
 
   /* Linked list of character strings which were recently sent as
@@ -1103,14 +1100,12 @@ public final class EmacsWindow extends EmacsHandleObject
   public void
   noticeIconified ()
   {
-    isIconified = true;
     EmacsNative.sendIconified (this.handle);
   }
 
   public void
   noticeDeiconified ()
   {
-    isIconified = false;
     EmacsNative.sendDeiconified (this.handle);
   }
 
diff --git a/java/org/gnu/emacs/EmacsWindowAttachmentManager.java 
b/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
index 1548bf28087..30f29250970 100644
--- a/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+++ b/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
@@ -20,7 +20,6 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 package org.gnu.emacs;
 
 import java.util.ArrayList;
-import java.util.LinkedList;
 import java.util.List;
 
 import android.content.Intent;
@@ -74,8 +73,8 @@ public final class EmacsWindowAttachmentManager
   public
   EmacsWindowAttachmentManager ()
   {
-    consumers = new LinkedList<WindowConsumer> ();
-    windows = new LinkedList<EmacsWindow> ();
+    consumers = new ArrayList<WindowConsumer> ();
+    windows = new ArrayList<EmacsWindow> ();
   }
 
   public void



reply via email to

[Prev in Thread] Current Thread [Next in Thread]