From: Po Lu Date: Tue, 16 Jul 2024 02:14:30 +0000 (+0800) Subject: Port better to Android 3.0 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3d130f1c8cfde24b9933b4e2243ebc52e0a592fc;p=emacs.git Port better to Android 3.0 * java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the old getPackageInfo calling convention if it exists rather than on Android 2.3.3 and earlier. (cherry picked from commit 34882d524328638e2198952578638e0ffe0697c5) --- diff --git a/java/org/gnu/emacs/EmacsNoninteractive.java b/java/org/gnu/emacs/EmacsNoninteractive.java index 9f2b9fa8b56..8a1ad98d8f9 100644 --- a/java/org/gnu/emacs/EmacsNoninteractive.java +++ b/java/org/gnu/emacs/EmacsNoninteractive.java @@ -120,11 +120,11 @@ public final class EmacsNoninteractive } /* Get a LoadedApk or ActivityThread.PackageInfo. How to do - this varies by Android version. On Android 2.3.3 and - earlier, there is no ``compatibilityInfo'' argument to + this varies by Android version. On Android 3.0 and earlier, + there is no ``compatibilityInfo'' argument to getPackageInfo. */ - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1) + try { method = activityThreadClass.getMethod ("getPackageInfo", @@ -134,7 +134,7 @@ public final class EmacsNoninteractive (Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY)); } - else + catch (NoSuchMethodException exception) { compatibilityInfoClass = Class.forName ("android.content.res.CompatibilityInfo");