From 41dd78cd362a80f1becc006a37f163119b93df10 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 4 May 2024 16:06:00 +0800 Subject: Simplify handling of command-line arguments on Android * java/org/gnu/emacs/EmacsActivity.java (EXTRA_STARTUP_ARGUMENTS): New constant. (onCreate): Read a string array, not a string extra from the intent with this key. * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity) : Delete field. (onCreate): Provide file name as a command line argument when starting the Emacs service. * java/org/gnu/emacs/EmacsPreferencesActivity.java (startEmacsQ) (startEmacsDebugInit): In like manner, replace ad-hoc command-line argument extra with a proper array. * java/org/gnu/emacs/EmacsService.java (EmacsService): Rename extraStartupArgument to extraStartupArguments, and change its type to a string array. (onCreate): Adjust to match. * java/org/gnu/emacs/EmacsThread.java (EmacsThread) : Ditto. : Delete field. (run): Adjust correspondingly. --- java/org/gnu/emacs/EmacsService.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'java/org/gnu/emacs/EmacsService.java') diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java index ced9f599960..5548748ddfa 100644 --- a/java/org/gnu/emacs/EmacsService.java +++ b/java/org/gnu/emacs/EmacsService.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -102,9 +103,9 @@ public final class EmacsService extends Service /* The started Emacs service object. */ public static EmacsService SERVICE; - /* If non-NULL, an extra argument to pass to + /* If non-NULL, an array of extra arguments to pass to `android_emacs_init'. */ - public static String extraStartupArgument; + public static String[] extraStartupArguments; /* The thread running Emacs C code. */ private EmacsThread thread; @@ -289,7 +290,9 @@ public final class EmacsService extends Service Log.d (TAG, "Initializing Emacs, where filesDir = " + filesDir + ", libDir = " + libDir + ", and classPath = " + classPath - + "; fileToOpen = " + EmacsOpenActivity.fileToOpen + + "; args = " + (extraStartupArguments != null + ? Arrays.toString (extraStartupArguments) + : "(none)") + "; display density: " + pixelDensityX + " by " + pixelDensityY + " scaled to " + scaledDensity); @@ -306,9 +309,7 @@ public final class EmacsService extends Service classPath, EmacsService.this, Build.VERSION.SDK_INT); } - }, extraStartupArgument, - /* If any file needs to be opened, open it now. */ - EmacsOpenActivity.fileToOpen); + }, extraStartupArguments); thread.start (); } catch (IOException exception) -- cgit v1.3