Detect potential WindowConfiguration change at onApplyWindowInsets
- Invoke onConfiguration when receiving inset changes
- In Laucnher/RecentsActivity onConfiguration, additionally detect for windowConfiguration's rotation change; if Configuration stays the same, it'll be ignored.
Bug: 240730723
Test: manual on 90/180 degree rotation in Launcher and RecentsActivity
Change-Id: I7087878af847d62e1c715a4f52a18818d1a6c258
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 5ee9aa8..03ff146 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -615,14 +615,18 @@
}
@Override
- public void onConfigurationChanged(Configuration newConfig) {
- int diff = newConfig.diff(mOldConfig);
- if ((diff & (CONFIG_ORIENTATION | CONFIG_SCREEN_SIZE)) != 0) {
+ public void handleConfigurationChanged(Configuration newConfig) {
+ if (compareConfiguration(mOldConfig, newConfig)) {
onIdpChanged(false);
}
mOldConfig.setTo(newConfig);
- super.onConfigurationChanged(newConfig);
+ super.handleConfigurationChanged(newConfig);
+ }
+
+ protected boolean compareConfiguration(Configuration oldConfig, Configuration newConfig) {
+ int diff = newConfig.diff(oldConfig);
+ return (diff & (CONFIG_ORIENTATION | CONFIG_SCREEN_SIZE)) != 0;
}
/**