Update Android port

* java/Makefile.in (ETAGS, clean): New rules to generate tags.
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
* java/org/gnu/emacs/EmacsApplication.java (EmacsApplication):
* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
* java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea):
* java/org/gnu/emacs/EmacsDialog.java (EmacsDialog)::(dialog.
Then):
* java/org/gnu/emacs/EmacsDocumentsProvider.java
(EmacsDocumentsProvider):
* java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine):
* java/org/gnu/emacs/EmacsDrawPoint.java (EmacsDrawPoint):
* java/org/gnu/emacs/EmacsDrawRectangle.java
(EmacsDrawRectangle):
* java/org/gnu/emacs/EmacsFillPolygon.java (EmacsFillPolygon):
* java/org/gnu/emacs/EmacsFillRectangle.java
(EmacsFillRectangle):
* java/org/gnu/emacs/EmacsGC.java (EmacsGC):
* java/org/gnu/emacs/EmacsInputConnection.java
(EmacsInputConnection):
* java/org/gnu/emacs/EmacsNative.java (EmacsNative):
* java/org/gnu/emacs/EmacsNoninteractive.java
(EmacsNoninteractive):
* java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity):
* java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
* java/org/gnu/emacs/EmacsPreferencesActivity.java
(EmacsPreferencesActivity):
* java/org/gnu/emacs/EmacsSdk11Clipboard.java
(EmacsSdk11Clipboard):
* java/org/gnu/emacs/EmacsSdk23FontDriver.java
(EmacsSdk23FontDriver):
* java/org/gnu/emacs/EmacsSdk8Clipboard.java
(EmacsSdk8Clipboard):
* java/org/gnu/emacs/EmacsService.java (EmacsService):
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView)
(buffers):
* java/org/gnu/emacs/EmacsView.java (EmacsView, ViewGroup):
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, drawables):
* java/org/gnu/emacs/EmacsWindowAttachmentManager.java
(EmacsWindowAttachmentManager): Make classes final where
appropriate.
This commit is contained in:
Po Lu 2023-03-01 12:00:46 +08:00
parent f8a2619d98
commit 15bcb446be
27 changed files with 60 additions and 37 deletions

View file

@ -281,9 +281,23 @@ $(APK_NAME): classes.dex emacs.apk-in emacs.keystore
$(AM_V_SILENT) $(APKSIGNER) $(SIGN_EMACS_V2) $@
$(AM_V_SILENT) rm -f $@.unaligned *.idsig
# TAGS generation.
ETAGS = $(top_builddir)/lib-src/etags
$(ETAGS): FORCE
$(MAKE) -C ../lib-src $(notdir $@)
tagsfiles = $(JAVA_FILES) $(RESOURCE_FILE)
.PHONY: tags FORCE
tags: TAGS
TAGS: $(ETAGS) $(tagsfiles)
$(AM_V_GEN) $(ETAGS) $(tagsfiles)
clean:
rm -f *.apk emacs.apk-in *.dex *.unaligned *.class *.idsig
rm -rf install-temp $(RESOURCE_FILE)
rm -rf install-temp $(RESOURCE_FILE) TAGS
find . -name '*.class' -delete
maintainer-clean distclean bootstrap-clean: clean

View file

@ -108,7 +108,7 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
detachWindow ()
{
syncFullscreenWith (null);
@ -131,7 +131,7 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
attachWindow (EmacsWindow child)
{
Log.d (TAG, "attachWindow: " + child);
@ -161,21 +161,21 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
destroy ()
{
finish ();
}
@Override
public EmacsWindow
public final EmacsWindow
getAttachedWindow ()
{
return window;
}
@Override
public void
public final void
onCreate (Bundle savedInstanceState)
{
FrameLayout.LayoutParams params;
@ -238,7 +238,7 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
onWindowFocusChanged (boolean isFocused)
{
Log.d (TAG, ("onWindowFocusChanged: "
@ -256,7 +256,7 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
onPause ()
{
isPaused = true;
@ -266,7 +266,7 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
onResume ()
{
isPaused = false;
@ -279,7 +279,7 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
onContextMenuClosed (Menu menu)
{
Log.d (TAG, "onContextMenuClosed: " + menu);
@ -298,7 +298,7 @@ public class EmacsActivity extends Activity
}
@SuppressWarnings ("deprecation")
public void
public final void
syncFullscreenWith (EmacsWindow emacsWindow)
{
WindowInsetsController controller;
@ -372,7 +372,7 @@ public class EmacsActivity extends Activity
}
@Override
public void
public final void
onAttachedToWindow ()
{
super.onAttachedToWindow ();

View file

@ -27,7 +27,7 @@
import android.app.Application;
import android.util.Log;
public class EmacsApplication extends Application
public final class EmacsApplication extends Application
{
private static final String TAG = "EmacsApplication";

View file

@ -42,7 +42,7 @@
Android menu, which can be turned into a popup (or other kind of)
menu. */
public class EmacsContextMenu
public final class EmacsContextMenu
{
private static final String TAG = "EmacsContextMenu";

View file

@ -27,7 +27,7 @@
import android.graphics.Rect;
import android.graphics.Xfermode;
public class EmacsCopyArea
public final class EmacsCopyArea
{
private static Xfermode overAlu;

View file

@ -38,7 +38,7 @@
describes a single alert dialog. Then, `inflate' turns it into
AlertDialog. */
public class EmacsDialog implements DialogInterface.OnDismissListener
public final class EmacsDialog implements DialogInterface.OnDismissListener
{
private static final String TAG = "EmacsDialog";

View file

@ -48,7 +48,7 @@ storage, which is useful to (for example) correct misconfigurations
This functionality is only available on Android 19 and later. */
public class EmacsDocumentsProvider extends DocumentsProvider
public final class EmacsDocumentsProvider extends DocumentsProvider
{
/* Home directory. This is the directory whose contents are
initially returned to requesting applications. */

View file

@ -29,7 +29,7 @@
import android.graphics.Rect;
import android.graphics.Xfermode;
public class EmacsDrawLine
public final class EmacsDrawLine
{
public static void
perform (EmacsDrawable drawable, EmacsGC gc,

View file

@ -19,7 +19,7 @@
package org.gnu.emacs;
public class EmacsDrawPoint
public final class EmacsDrawPoint
{
public static void
perform (EmacsDrawable drawable,

View file

@ -27,7 +27,7 @@
import android.util.Log;
public class EmacsDrawRectangle
public final class EmacsDrawRectangle
{
public static void
perform (EmacsDrawable drawable, EmacsGC gc,

View file

@ -29,7 +29,7 @@
import android.graphics.Rect;
import android.graphics.RectF;
public class EmacsFillPolygon
public final class EmacsFillPolygon
{
public static void
perform (EmacsDrawable drawable, EmacsGC gc, Point points[])

View file

@ -26,7 +26,7 @@
import android.util.Log;
public class EmacsFillRectangle
public final class EmacsFillRectangle
{
public static void
perform (EmacsDrawable drawable, EmacsGC gc,

View file

@ -29,7 +29,7 @@
/* X like graphics context structures. Keep the enums in synch with
androidgui.h! */
public class EmacsGC extends EmacsHandleObject
public final class EmacsGC extends EmacsHandleObject
{
public static final int GC_COPY = 0;
public static final int GC_XOR = 1;

View file

@ -36,7 +36,7 @@
See EmacsEditable for more details. */
public class EmacsInputConnection extends BaseInputConnection
public final class EmacsInputConnection extends BaseInputConnection
{
private static final String TAG = "EmacsInputConnection";
private EmacsView view;
@ -243,6 +243,15 @@ public class EmacsInputConnection extends BaseInputConnection
return super.sendKeyEvent (key);
}
@Override
public boolean
deleteSurroundingTextInCodePoints (int beforeLength, int afterLength)
{
/* This can be implemented the same way as
deleteSurroundingText. */
return this.deleteSurroundingText (beforeLength, afterLength);
}
/* Override functions which are not implemented. */

View file

@ -25,7 +25,7 @@
import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
public class EmacsNative
public final class EmacsNative
{
/* List of native libraries that must be loaded during class
initialization. */

View file

@ -44,7 +44,7 @@
initializes Emacs. */
@SuppressWarnings ("unchecked")
public class EmacsNoninteractive
public final class EmacsNoninteractive
{
private static String
getLibraryDirectory (Context context)

View file

@ -68,7 +68,7 @@
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
public class EmacsOpenActivity extends Activity
public final class EmacsOpenActivity extends Activity
implements DialogInterface.OnClickListener
{
private static final String TAG = "EmacsOpenActivity";

View file

@ -29,7 +29,7 @@
/* Drawable backed by bitmap. */
public class EmacsPixmap extends EmacsHandleObject
public final class EmacsPixmap extends EmacsHandleObject
implements EmacsDrawable
{
/* The depth of the bitmap. This is not actually used, just defined

View file

@ -42,7 +42,7 @@
Unfortunately, there is no alternative that looks the same way. */
@SuppressWarnings ("deprecation")
public class EmacsPreferencesActivity extends PreferenceActivity
public final class EmacsPreferencesActivity extends PreferenceActivity
{
/* Restart Emacs with -Q. Call EmacsThread.exit to kill Emacs now, and
tell the system to EmacsActivity with some parameters later. */

View file

@ -32,7 +32,7 @@
/* This class implements EmacsClipboard for Android 3.0 and later
systems. */
public class EmacsSdk11Clipboard extends EmacsClipboard
public final class EmacsSdk11Clipboard extends EmacsClipboard
implements ClipboardManager.OnPrimaryClipChangedListener
{
private static final String TAG = "EmacsSdk11Clipboard";

View file

@ -22,7 +22,7 @@
import android.graphics.Paint;
import android.graphics.Rect;
public class EmacsSdk23FontDriver extends EmacsSdk7FontDriver
public final class EmacsSdk23FontDriver extends EmacsSdk7FontDriver
{
private void
textExtents1 (Sdk7FontObject font, int code, FontMetrics metrics,

View file

@ -31,7 +31,7 @@
similarly old systems. */
@SuppressWarnings ("deprecation")
public class EmacsSdk8Clipboard extends EmacsClipboard
public final class EmacsSdk8Clipboard extends EmacsClipboard
{
private static final String TAG = "EmacsSdk8Clipboard";
private ClipboardManager manager;

View file

@ -82,7 +82,7 @@ class Holder<T>
/* EmacsService is the service that starts the thread running Emacs
and handles requests by that Emacs instance. */
public class EmacsService extends Service
public final class EmacsService extends Service
{
public static final String TAG = "EmacsService";
public static final int MAX_PENDING_REQUESTS = 256;

View file

@ -35,7 +35,7 @@
own back buffers, which use too much memory (up to 96 MB for a
single frame.) */
public class EmacsSurfaceView extends View
public final class EmacsSurfaceView extends View
{
private static final String TAG = "EmacsSurfaceView";
private EmacsView view;

View file

@ -51,7 +51,7 @@
It is also a ViewGroup, as it also lays out children. */
public class EmacsView extends ViewGroup
public final class EmacsView extends ViewGroup
{
public static final String TAG = "EmacsView";

View file

@ -59,7 +59,7 @@ their views are attached to the parent activity (if any), else
Views are also drawables, meaning they can accept drawing
requests. */
public class EmacsWindow extends EmacsHandleObject
public final class EmacsWindow extends EmacsHandleObject
implements EmacsDrawable
{
private static final String TAG = "EmacsWindow";

View file

@ -50,7 +50,7 @@
Finally, every time a window is removed, the consumer is
destroyed. */
public class EmacsWindowAttachmentManager
public final class EmacsWindowAttachmentManager
{
public static EmacsWindowAttachmentManager MANAGER;
private final static String TAG = "EmacsWindowAttachmentManager";