From f3fe3bf5b97c78b141e7cee738a3011998840bf7 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Wed, 5 Jul 2017 12:20:10 -0400 Subject: [PATCH] Fix some config issues with sysui It wasn't creating a delta so as soon as a change happened, it would return true for any config changes. Also StatusBar wasn't receiving config changes because the callback was named wrong and SystemBars no longer passes it through. Test: manual Fixes: 62968485 Fixes: 62893293 Change-Id: I56750047168007edd0ca9ea35cb36c23dc790661 --- .../settingslib/applications/InterestingConfigChanges.java | 3 ++- .../src/com/android/systemui/statusbar/phone/StatusBar.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java b/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java index e4e0f7f9e3617..c4cbc2b53a94d 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java @@ -36,7 +36,8 @@ public class InterestingConfigChanges { } public boolean applyNewConfig(Resources res) { - int configChanges = mLastConfiguration.updateFrom(res.getConfiguration()); + int configChanges = mLastConfiguration.updateFrom( + Configuration.generateDelta(mLastConfiguration, res.getConfiguration())); boolean densityChanged = mLastDensity != res.getDisplayMetrics().densityDpi; if (densityChanged || (configChanges & (mFlags)) != 0) { mLastDensity = res.getDisplayMetrics().densityDpi; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index bcba789fe2847..3c770eb91efec 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -3757,7 +3757,7 @@ public class StatusBar extends SystemUI implements DemoMode, // SystemUIService notifies SystemBars of configuration changes, which then calls down here @Override - protected void onConfigurationChanged(Configuration newConfig) { + public void onConfigChanged(Configuration newConfig) { updateResources(); updateDisplaySize(); // populates mDisplayMetrics