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();