Merge "Update the split layout while density changed" into udc-dev am: c3662a31de

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22120409

Change-Id: I3cfeaee818e7bb52487f75ea5bd6023ea38595fd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jeff Chang
2023-05-13 04:20:46 +00:00
committed by Automerger Merge Worker
2 changed files with 12 additions and 0 deletions

View File

@@ -717,6 +717,10 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
return bounds.width() > bounds.height();
}
public boolean isDensityChanged(int densityDpi) {
return mDensity != densityDpi;
}
/**
* Return if this layout is landscape.
*/

View File

@@ -2175,6 +2175,14 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
return;
}
mDisplayLayout.set(mDisplayController.getDisplayLayout(displayId));
if (mSplitLayout != null && mSplitLayout.isDensityChanged(newConfig.densityDpi)
&& mMainStage.isActive()
&& mSplitLayout.updateConfiguration(newConfig)
&& ENABLE_SHELL_TRANSITIONS) {
mSplitLayout.update(null /* t */);
onLayoutSizeChanged(mSplitLayout);
}
}
void updateSurfaces(SurfaceControl.Transaction transaction) {