summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsService.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-10-05 11:57:26 +0800
committerPo Lu <luangruo@yahoo.com>2023-10-05 11:57:26 +0800
commit253f1aff1ab00e9794f3cfcf50e86e335f411242 (patch)
tree8a232f9683100875bac890832ee7c3af5ec07a3d /java/org/gnu/emacs/EmacsService.java
parent511acc2ed827dd039eee1c6d70c77153825d5c67 (diff)
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/gnu/emacs/EmacsService.java')
-rw-r--r--java/org/gnu/emacs/EmacsService.java17
1 files changed, 16 insertions, 1 deletions
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
}
}
+ /* Return the display density, adjusted in accord with the user's
+ text scaling preferences. */
+
+ @SuppressWarnings ("deprecation")
+ private static float
+ getScaledDensity (DisplayMetrics metrics)
+ {
+ /* The scaled density has been made obsolete by the introduction
+ of non-linear text scaling in Android 34, where there is no
+ longer a fixed relation between point and pixel sizes, but
+ remains useful, considering that Emacs does not support
+ non-linear text scaling. */
+ return metrics.scaledDensity;
+ }
+
@Override
public void
onCreate ()
@@ -242,7 +257,7 @@ public final class EmacsService extends Service
metrics = getResources ().getDisplayMetrics ();
pixelDensityX = metrics.xdpi;
pixelDensityY = metrics.ydpi;
- tempScaledDensity = ((metrics.scaledDensity
+ tempScaledDensity = ((getScaledDensity (metrics)
/ metrics.density)
* pixelDensityX);
resolver = getContentResolver ();