Merge "Update context object if split bounds changed" into tm-d1-dev am: bceb4a9e7d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18881887 Change-Id: I5a49f69e880c025b324e8afc37f0fe40294ee823 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -216,24 +216,24 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
|
|||||||
|
|
||||||
/** Applies new configuration, returns {@code false} if there's no effect to the layout. */
|
/** Applies new configuration, returns {@code false} if there's no effect to the layout. */
|
||||||
public boolean updateConfiguration(Configuration configuration) {
|
public boolean updateConfiguration(Configuration configuration) {
|
||||||
// Always update configuration after orientation changed to make sure to render divider bar
|
|
||||||
// with proper resources that matching screen orientation.
|
|
||||||
final int orientation = configuration.orientation;
|
|
||||||
if (mOrientation != orientation) {
|
|
||||||
mContext = mContext.createConfigurationContext(configuration);
|
|
||||||
mSplitWindowManager.setConfiguration(configuration);
|
|
||||||
mOrientation = orientation;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update the split bounds when necessary. Besides root bounds changed, split bounds need to
|
// Update the split bounds when necessary. Besides root bounds changed, split bounds need to
|
||||||
// be updated when the rotation changed to cover the case that users rotated the screen 180
|
// be updated when the rotation changed to cover the case that users rotated the screen 180
|
||||||
// degrees.
|
// degrees.
|
||||||
|
// Make sure to render the divider bar with proper resources that matching the screen
|
||||||
|
// orientation.
|
||||||
final int rotation = configuration.windowConfiguration.getRotation();
|
final int rotation = configuration.windowConfiguration.getRotation();
|
||||||
final Rect rootBounds = configuration.windowConfiguration.getBounds();
|
final Rect rootBounds = configuration.windowConfiguration.getBounds();
|
||||||
if (mRotation == rotation && mRootBounds.equals(rootBounds)) {
|
final int orientation = configuration.orientation;
|
||||||
|
|
||||||
|
if (mOrientation == orientation
|
||||||
|
&& mRotation == rotation
|
||||||
|
&& mRootBounds.equals(rootBounds)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mContext = mContext.createConfigurationContext(configuration);
|
||||||
|
mSplitWindowManager.setConfiguration(configuration);
|
||||||
|
mOrientation = orientation;
|
||||||
mTempRect.set(mRootBounds);
|
mTempRect.set(mRootBounds);
|
||||||
mRootBounds.set(rootBounds);
|
mRootBounds.set(rootBounds);
|
||||||
mRotation = rotation;
|
mRotation = rotation;
|
||||||
|
|||||||
Reference in New Issue
Block a user