mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-09 01:05:39 -08:00
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) <fileToOpen>: 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) <extraStartupArguments>: Ditto. <fileToOpen>: Delete field. (run): Adjust correspondingly.
This commit is contained in:
parent
ecfbd0ff99
commit
41dd78cd36
5 changed files with 32 additions and 41 deletions
|
|
@ -28,24 +28,20 @@ public final class EmacsThread extends Thread
|
|||
{
|
||||
private static final String TAG = "EmacsThread";
|
||||
|
||||
/* Whether or not Emacs should be started with an additional
|
||||
argument, and that additional argument if non-NULL. */
|
||||
private String extraStartupArgument;
|
||||
/* Whether or not Emacs should be started with additional arguments,
|
||||
and those additional arguments if non-NULL. */
|
||||
private final String[] extraStartupArguments;
|
||||
|
||||
/* Runnable run to initialize Emacs. */
|
||||
private Runnable paramsClosure;
|
||||
|
||||
/* Whether or not to open a file after starting Emacs. */
|
||||
private String fileToOpen;
|
||||
private final Runnable paramsClosure;
|
||||
|
||||
public
|
||||
EmacsThread (EmacsService service, Runnable paramsClosure,
|
||||
String extraStartupArgument, String fileToOpen)
|
||||
String[] extraStartupArguments)
|
||||
{
|
||||
super ("Emacs main thread");
|
||||
this.extraStartupArgument = extraStartupArgument;
|
||||
this.extraStartupArguments = extraStartupArguments;
|
||||
this.paramsClosure = paramsClosure;
|
||||
this.fileToOpen = fileToOpen;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -54,23 +50,15 @@ public final class EmacsThread extends Thread
|
|||
{
|
||||
String args[];
|
||||
|
||||
if (fileToOpen == null)
|
||||
{
|
||||
if (extraStartupArgument == null)
|
||||
args = new String[] { "libandroid-emacs.so", };
|
||||
else
|
||||
args = new String[] { "libandroid-emacs.so",
|
||||
extraStartupArgument, };
|
||||
}
|
||||
if (extraStartupArguments == null)
|
||||
args = new String[] { "libandroid-emacs.so", };
|
||||
else
|
||||
{
|
||||
if (extraStartupArgument == null)
|
||||
args = new String[] { "libandroid-emacs.so",
|
||||
fileToOpen, };
|
||||
else
|
||||
args = new String[] { "libandroid-emacs.so",
|
||||
extraStartupArgument,
|
||||
fileToOpen, };
|
||||
/* Prepend "libandroid-emacs.so" to the list of arguments. */
|
||||
args = new String[extraStartupArguments.length + 1];
|
||||
args[0] = "libandroid-emacs.so";
|
||||
System.arraycopy (extraStartupArguments, 0, args,
|
||||
1, extraStartupArguments.length);
|
||||
}
|
||||
|
||||
paramsClosure.run ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue