Do not rebind when when deviceProfile has not changed
This avoids UI flicker when using fakeLandscape UI during swipe-up animation
Bug: 131360075
Change-Id: I651e0acb79b54be66b93c746eed6e9b099f2f767
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 2c9a37a..4e905c7 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -461,6 +461,7 @@
private void onIdpChanged(InvariantDeviceProfile idp) {
mUserEventDispatcher = null;
+ DeviceProfile oldWallpaperProfile = getWallpaperDeviceProfile();
initDeviceProfile(idp);
dispatchDeviceProfileChanged();
reapplyUi();
@@ -469,8 +470,9 @@
// Calling onSaveInstanceState ensures that static cache used by listWidgets is
// initialized properly.
onSaveInstanceState(new Bundle());
- // TODO: We can probably avoid rebind when only screen size changed.
- rebindModel();
+ if (oldWallpaperProfile != getWallpaperDeviceProfile()) {
+ rebindModel();
+ }
}
public void onAssistantVisibilityChanged(float visibility) {