From 4d6bbc8af95ad6539afa11a85466e4b0e23123f0 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Wed, 28 Apr 2021 11:20:32 +0800 Subject: [PATCH] Make collapsing toolbar load font synchronously Since collapsing toolbar might load the font asynchronously, it caused that some settings pages are seeing a flicker on its title. This change is using TextAppearanceConfig.setShouldLoadFontSynchronously(true) method to have title font load synchronously, which would remove the flicker problem. Fixes: 182232144 Test: visual verified 1) Enable developer options 2) Settings > System > Developer options 3) See if there's a flicker on title Change-Id: I4e1db1a0fae9f69c7ff5baca7ada49c08f1bcbea --- src/com/android/settings/core/SettingsBaseActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java index cf3cd50296b..96ee51d7f06 100644 --- a/src/com/android/settings/core/SettingsBaseActivity.java +++ b/src/com/android/settings/core/SettingsBaseActivity.java @@ -47,6 +47,7 @@ import com.android.settings.dashboard.CategoryManager; import com.android.settingslib.drawer.Tile; import com.google.android.material.appbar.CollapsingToolbarLayout; +import com.google.android.material.resources.TextAppearanceConfig; import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupdesign.util.ThemeHelper; @@ -80,6 +81,7 @@ public class SettingsBaseActivity extends FragmentActivity { } final long startTime = System.currentTimeMillis(); getLifecycle().addObserver(new HideNonSystemOverlayMixin(this)); + TextAppearanceConfig.setShouldLoadFontSynchronously(true); final TypedArray theme = getTheme().obtainStyledAttributes(android.R.styleable.Theme); if (!theme.getBoolean(android.R.styleable.Theme_windowNoTitle, false)) {