From a9248444ac13448a8624fdeb06628f108c3c38b8 Mon Sep 17 00:00:00 2001 From: Kohsuke Yatoh Date: Wed, 2 Dec 2020 12:39:14 -0800 Subject: [PATCH] Don't use serialized system font map if disabled. Bug: 174672300 Test: device boots Change-Id: I6ec96f6d2629b082a87997e86960234fac65ca57 --- core/java/android/app/ActivityThread.java | 12 +++++++----- .../server/graphics/fonts/FontManagerService.java | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index d9c0c71d44aec..2e08fc80b1790 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -6417,11 +6417,13 @@ public final class ActivityThread extends ClientTransactionHandler { */ LocaleList.setDefault(data.config.getLocales()); - try { - Typeface.setSystemFontMap(data.mSerializedSystemFontMap); - } catch (IOException | ErrnoException e) { - Slog.e(TAG, "Failed to parse serialized system font map"); - Typeface.loadPreinstalledSystemFontMap(); + if (Typeface.ENABLE_LAZY_TYPEFACE_INITIALIZATION) { + try { + Typeface.setSystemFontMap(data.mSerializedSystemFontMap); + } catch (IOException | ErrnoException e) { + Slog.e(TAG, "Failed to parse serialized system font map"); + Typeface.loadPreinstalledSystemFontMap(); + } } synchronized (mResourcesManager) { diff --git a/services/core/java/com/android/server/graphics/fonts/FontManagerService.java b/services/core/java/com/android/server/graphics/fonts/FontManagerService.java index 22921ad1ecc20..521ce69735225 100644 --- a/services/core/java/com/android/server/graphics/fonts/FontManagerService.java +++ b/services/core/java/com/android/server/graphics/fonts/FontManagerService.java @@ -64,6 +64,9 @@ public final class FontManagerService { @Nullable private SharedMemory getSerializedSystemFontMap() { + if (!Typeface.ENABLE_LAZY_TYPEFACE_INITIALIZATION) { + return null; + } synchronized (FontManagerService.this) { if (mSerializedSystemFontMap == null) { mSerializedSystemFontMap = createSerializedSystemFontMapLocked();