aboutsummaryrefslogtreecommitdiffstats
path: root/java/org
diff options
context:
space:
mode:
authorPo Lu2023-10-05 11:57:26 +0800
committerPo Lu2023-10-05 11:57:26 +0800
commit253f1aff1ab00e9794f3cfcf50e86e335f411242 (patch)
tree8a232f9683100875bac890832ee7c3af5ec07a3d /java/org
parent511acc2ed827dd039eee1c6d70c77153825d5c67 (diff)
downloademacs-253f1aff1ab00e9794f3cfcf50e86e335f411242.tar.gz
emacs-253f1aff1ab00e9794f3cfcf50e86e335f411242.zip
Port Emacs to Android 34
* configure.ac: Detect and require Android 34 headers. * doc/emacs/android.texi (Android Environment): Mention new permissions mandated by Android 34. * java/AndroidManifest.xml.in: Introduce new permissions and foreground service types prerequisite for background execution under Android 34. * java/INSTALL: Update installation documentation. * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7FontEntity) (Sdk7FontObject): * java/org/gnu/emacs/EmacsService.java (onCreate): Silence deprecation warnings. * src/android.c: Update documentation.
Diffstat (limited to 'java/org')
-rw-r--r--java/org/gnu/emacs/EmacsSdk7FontDriver.java2
-rw-r--r--java/org/gnu/emacs/EmacsService.java17
2 files changed, 18 insertions, 1 deletions
diff --git a/java/org/gnu/emacs/EmacsSdk7FontDriver.java b/java/org/gnu/emacs/EmacsSdk7FontDriver.java
index 21ae159d5bd..33d6ee34fa4 100644
--- a/java/org/gnu/emacs/EmacsSdk7FontDriver.java
+++ b/java/org/gnu/emacs/EmacsSdk7FontDriver.java
@@ -99,6 +99,7 @@ public class EmacsSdk7FontDriver extends EmacsFontDriver
99 /* The typeface. */ 99 /* The typeface. */
100 public Sdk7Typeface typeface; 100 public Sdk7Typeface typeface;
101 101
102 @SuppressWarnings ("deprecation")
102 public 103 public
103 Sdk7FontEntity (Sdk7Typeface typeface) 104 Sdk7FontEntity (Sdk7Typeface typeface)
104 { 105 {
@@ -120,6 +121,7 @@ public class EmacsSdk7FontDriver extends EmacsFontDriver
120 /* The typeface. */ 121 /* The typeface. */
121 public Sdk7Typeface typeface; 122 public Sdk7Typeface typeface;
122 123
124 @SuppressWarnings ("deprecation")
123 public 125 public
124 Sdk7FontObject (Sdk7Typeface typeface, int pixelSize) 126 Sdk7FontObject (Sdk7Typeface typeface, int pixelSize)
125 { 127 {
diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java
index 997c6923fcc..28b725d0cd0 100644
--- a/java/org/gnu/emacs/EmacsService.java
+++ b/java/org/gnu/emacs/EmacsService.java
@@ -223,6 +223,21 @@ public final class EmacsService extends Service
223 } 223 }
224 } 224 }
225 225
226 /* Return the display density, adjusted in accord with the user's
227 text scaling preferences. */
228
229 @SuppressWarnings ("deprecation")
230 private static float
231 getScaledDensity (DisplayMetrics metrics)
232 {
233 /* The scaled density has been made obsolete by the introduction
234 of non-linear text scaling in Android 34, where there is no
235 longer a fixed relation between point and pixel sizes, but
236 remains useful, considering that Emacs does not support
237 non-linear text scaling. */
238 return metrics.scaledDensity;
239 }
240
226 @Override 241 @Override
227 public void 242 public void
228 onCreate () 243 onCreate ()
@@ -242,7 +257,7 @@ public final class EmacsService extends Service
242 metrics = getResources ().getDisplayMetrics (); 257 metrics = getResources ().getDisplayMetrics ();
243 pixelDensityX = metrics.xdpi; 258 pixelDensityX = metrics.xdpi;
244 pixelDensityY = metrics.ydpi; 259 pixelDensityY = metrics.ydpi;
245 tempScaledDensity = ((metrics.scaledDensity 260 tempScaledDensity = ((getScaledDensity (metrics)
246 / metrics.density) 261 / metrics.density)
247 * pixelDensityX); 262 * pixelDensityX);
248 resolver = getContentResolver (); 263 resolver = getContentResolver ();