1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-18 17:01:01 -08:00

Allow starting Emacs --debug-init on Android

* doc/emacs/android.texi (Android Troubleshooting): Document
`debug-init' option.
* java/AndroidManifest.xml.in
(EmacsLauncherPreferencesActivity): New activity.  Export on
systems older than Android 7.0.
* java/org/gnu/emacs/EmacsActivity.java (onCreate): Adjust for
string startup argument.
* java/org/gnu/emacs/EmacsLauncherPreferencesActivity.java: New
file.
* java/org/gnu/emacs/EmacsPreferencesActivity.java
(EmacsPreferencesActivity): Don't make final.
(startEmacsQ): Give start-up argument as an argument, not as a
boolean.
(startEmacsDebugInit): New function.
(onCreate): Register new listener; make final.
* java/org/gnu/emacs/EmacsService.java (onCreate): Pass
extraStartupArgument.
* java/org/gnu/emacs/EmacsThread.java (EmacsThread): Rename
startDashQ to extraStartupArgument.
(run): Adjust accordingly.
* java/res/values-v24/bool.xml:
* java/res/values/bool.xml:
* java/res/values/strings.xml: New files.
* java/res/xml/preferences.xml: Add new option.  Move string
resources around.
This commit is contained in:
Po Lu 2023-05-26 15:20:39 +08:00
parent ddaca337e3
commit 0eb1f4e571
12 changed files with 179 additions and 30 deletions

View file

@ -29,8 +29,9 @@ public class EmacsThread extends Thread
{
private static final String TAG = "EmacsThread";
/* Whether or not Emacs should be started -Q. */
private boolean startDashQ;
/* Whether or not Emacs should be started with an additional
argument, and that additional argument if non-NULL. */
private String extraStartupArgument;
/* Runnable run to initialize Emacs. */
private Runnable paramsClosure;
@ -40,10 +41,10 @@ public class EmacsThread extends Thread
public
EmacsThread (EmacsService service, Runnable paramsClosure,
boolean startDashQ, String fileToOpen)
String extraStartupArgument, String fileToOpen)
{
super ("Emacs main thread");
this.startDashQ = startDashQ;
this.extraStartupArgument = extraStartupArgument;
this.paramsClosure = paramsClosure;
this.fileToOpen = fileToOpen;
}
@ -56,18 +57,20 @@ public class EmacsThread extends Thread
if (fileToOpen == null)
{
if (!startDashQ)
if (extraStartupArgument == null)
args = new String[] { "libandroid-emacs.so", };
else
args = new String[] { "libandroid-emacs.so", "-Q", };
args = new String[] { "libandroid-emacs.so",
extraStartupArgument, };
}
else
{
if (!startDashQ)
if (extraStartupArgument != null)
args = new String[] { "libandroid-emacs.so",
fileToOpen, };
else
args = new String[] { "libandroid-emacs.so", "-Q",
args = new String[] { "libandroid-emacs.so",
extraStartupArgument,
fileToOpen, };
}