From 18c3e398e19db864265c4eb104d1b6e4eadb30bd Mon Sep 17 00:00:00 2001 From: Seigo Nonaka Date: Wed, 28 Jun 2023 09:57:56 +0900 Subject: Load preinstalled sytem font if fs-verity is not supported Some form factor doesn't support fs-verity and it ends up with NPE during boot because of empty system font map. To work on such environment, load preinstalled system font before serializing system font map. Bug: N/A Test: N/A Change-Id: Ibc4d512e1a70d9e7be889ea7b1e6afa5e45b1bbb --- .../java/com/android/server/graphics/fonts/FontManagerService.java | 3 +++ 1 file changed, 3 insertions(+) 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 8cdef8952333..d3371b187074 100644 --- a/services/core/java/com/android/server/graphics/fonts/FontManagerService.java +++ b/services/core/java/com/android/server/graphics/fonts/FontManagerService.java @@ -269,6 +269,9 @@ public final class FontManagerService extends IFontManager.Stub { synchronized (mUpdatableFontDirLock) { mUpdatableFontDir = createUpdatableFontDir(); if (mUpdatableFontDir == null) { + // If fs-verity is not supported, load preinstalled system font map and use it for + // all apps. + Typeface.loadPreinstalledSystemFontMap(); setSerializedFontMap(serializeSystemServerFontMap()); return; } -- cgit v1.2.3-59-g8ed1b