summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-10-02 11:00:39 +0800
committerPo Lu <luangruo@yahoo.com>2023-10-02 11:00:39 +0800
commitdb704687bb9992212cec0d5435f6dcd75161e229 (patch)
tree3cceef70e6a7813589822a871e954b958f7c0b25 /java
parent862e5effbf9b991af3fbbc8e31df33e64483c56f (diff)
downloademacs-db704687bb9992212cec0d5435f6dcd75161e229.tar.gz
Update Android port
* java/AndroidManifest.xml.in: Exclude non-files from opening in Emacs. * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Avert crash should scheme be NULL.
Diffstat (limited to 'java')
-rw-r--r--java/AndroidManifest.xml.in5
-rw-r--r--java/org/gnu/emacs/EmacsOpenActivity.java6
2 files changed, 10 insertions, 1 deletions
diff --git a/java/AndroidManifest.xml.in b/java/AndroidManifest.xml.in
index d4017a055dd..9ba9dabde81 100644
--- a/java/AndroidManifest.xml.in
+++ b/java/AndroidManifest.xml.in
@@ -110,7 +110,10 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. -->
<action android:name="android.intent.action.EDIT"/>
<action android:name="android.intent.action.PICK"/>
<category android:name="android.intent.category.DEFAULT"/>
- <data android:mimeType="*/*"/>
+ <!-- Don't offer to start Emacs for URLs that designate
+ resources other than files. -->
+ <data android:mimeType="*/*" android:scheme="file"/>
+ <data android:mimeType="*/*" android:scheme="content"/>
</intent-filter>
<!-- Facilitate opening org-protocol:// URLs as well, the same
diff --git a/java/org/gnu/emacs/EmacsOpenActivity.java b/java/org/gnu/emacs/EmacsOpenActivity.java
index d27139e98bc..202b3c8c5dc 100644
--- a/java/org/gnu/emacs/EmacsOpenActivity.java
+++ b/java/org/gnu/emacs/EmacsOpenActivity.java
@@ -438,6 +438,12 @@ public final class EmacsOpenActivity extends Activity
scheme = uri.getScheme ();
+ /* It is possible for scheme to be NULL, under Android 2.3 at
+ least. */
+
+ if (scheme == null)
+ return;
+
/* If URL is a mailto URI, call `message-mailto' much the same
way emacsclient-mail.desktop does. */