Set size compat UI to max layer
Before, the size compat UI is reparent to Task with its original layer (likely 1), which may not be the higheset layer when the Task contains more than one children. Fix: 181541449 Bug: 178327644 Test: verify with launching a non-resizable activity from another Change-Id: I9e812ca8c0c1fd5b93a6e074a5e4df164c8fa03b
This commit is contained in:
@@ -280,7 +280,7 @@ class SizeCompatUILayout {
|
||||
: stableBounds.right - taskBounds.left - mButtonSize;
|
||||
final int positionY = stableBounds.bottom - taskBounds.top - mButtonSize;
|
||||
|
||||
mSyncQueue.runInSync(t -> t.setPosition(leash, positionX, positionY));
|
||||
updateSurfacePosition(leash, positionX, positionY);
|
||||
}
|
||||
|
||||
void updateHintSurfacePosition() {
|
||||
@@ -303,7 +303,16 @@ class SizeCompatUILayout {
|
||||
final int positionY =
|
||||
stableBounds.bottom - taskBounds.top - mPopupOffsetY - mHint.getMeasuredHeight();
|
||||
|
||||
mSyncQueue.runInSync(t -> t.setPosition(leash, positionX, positionY));
|
||||
updateSurfacePosition(leash, positionX, positionY);
|
||||
}
|
||||
|
||||
private void updateSurfacePosition(SurfaceControl leash, int positionX, int positionY) {
|
||||
mSyncQueue.runInSync(t -> {
|
||||
t.setPosition(leash, positionX, positionY);
|
||||
// The size compat UI should be the topmost child of the Task in case there can be more
|
||||
// than one children.
|
||||
t.setLayer(leash, Integer.MAX_VALUE);
|
||||
});
|
||||
}
|
||||
|
||||
int getDisplayId() {
|
||||
|
||||
Reference in New Issue
Block a user