From: Jason Monk Date: Wed, 5 Jul 2017 16:20:10 +0000 (-0400) Subject: Fix some config issues with sysui X-Git-Tag: android-x86-9.0-r1~813^2~226^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f3fe3bf5b97c78b141e7cee738a3011998840bf7;p=android-x86%2Fframeworks-base.git 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 --- diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java b/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java index e4e0f7f9e361..c4cbc2b53a94 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 bcba789fe284..3c770eb91efe 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