From 1b2e778a91bc38df5357e9cb2aaab209e6951d3e Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Wed, 28 Apr 2021 11:52:54 +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. Bug: 182232144 Test: visual verified 1) Settings > Notifications > Notification history 2) See if there's a flicker on title Change-Id: I80f5c5862ea6408bfb372d61a11122fb0240e45d --- .../collapsingtoolbar/CollapsingToolbarBaseActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java index f5641bd846199..83a838f54d28b 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java @@ -26,6 +26,7 @@ import android.widget.Toolbar; import androidx.annotation.Nullable; import com.google.android.material.appbar.CollapsingToolbarLayout; +import com.google.android.material.resources.TextAppearanceConfig; /** * A base Activity that has a collapsing toolbar layout is used for the activities intending to @@ -39,7 +40,8 @@ public class CollapsingToolbarBaseActivity extends SettingsTransitionActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - + // Force loading font synchronously for collapsing toolbar layout + TextAppearanceConfig.setShouldLoadFontSynchronously(true); super.setContentView(R.layout.collapsing_toolbar_base_layout); mCollapsingToolbarLayout = findViewById(R.id.collapsing_toolbar);