diff options
| author | Po Lu <luangruo@yahoo.com> | 2023-10-05 11:57:26 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2023-10-05 11:57:26 +0800 |
| commit | 253f1aff1ab00e9794f3cfcf50e86e335f411242 (patch) | |
| tree | 8a232f9683100875bac890832ee7c3af5ec07a3d /java/org/gnu/emacs/EmacsService.java | |
| parent | 511acc2ed827dd039eee1c6d70c77153825d5c67 (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.java | 17 |
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 (); |
