Merge "Not show size compat UI when task is not visible" into sc-dev am: 927c644bfa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15225378 Change-Id: Ic80035d84e4e2f2a5471bd4f85cc90ff61cda49f
This commit is contained in:
@@ -367,7 +367,8 @@ public class TaskInfo {
|
|||||||
&& (!topActivityInSizeCompat || configuration.windowConfiguration.getBounds()
|
&& (!topActivityInSizeCompat || configuration.windowConfiguration.getBounds()
|
||||||
.equals(that.configuration.windowConfiguration.getBounds()))
|
.equals(that.configuration.windowConfiguration.getBounds()))
|
||||||
&& (!topActivityInSizeCompat || configuration.getLayoutDirection()
|
&& (!topActivityInSizeCompat || configuration.getLayoutDirection()
|
||||||
== that.configuration.getLayoutDirection());
|
== that.configuration.getLayoutDirection())
|
||||||
|
&& (!topActivityInSizeCompat || isVisible == that.isVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -512,7 +512,7 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
|
|||||||
// The task is vanished or doesn't support size compat UI, notify to remove size compat UI
|
// The task is vanished or doesn't support size compat UI, notify to remove size compat UI
|
||||||
// on this Task if there is any.
|
// on this Task if there is any.
|
||||||
if (taskListener == null || !taskListener.supportSizeCompatUI()
|
if (taskListener == null || !taskListener.supportSizeCompatUI()
|
||||||
|| !taskInfo.topActivityInSizeCompat) {
|
|| !taskInfo.topActivityInSizeCompat || !taskInfo.isVisible) {
|
||||||
mSizeCompatUI.onSizeCompatInfoChanged(taskInfo.displayId, taskInfo.taskId,
|
mSizeCompatUI.onSizeCompatInfoChanged(taskInfo.displayId, taskInfo.taskId,
|
||||||
null /* taskConfig */, null /* taskListener */);
|
null /* taskConfig */, null /* taskListener */);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -305,10 +305,23 @@ public class ShellTaskOrganizerTests {
|
|||||||
createTaskInfo(taskInfo1.taskId, taskInfo1.getWindowingMode());
|
createTaskInfo(taskInfo1.taskId, taskInfo1.getWindowingMode());
|
||||||
taskInfo2.displayId = taskInfo1.displayId;
|
taskInfo2.displayId = taskInfo1.displayId;
|
||||||
taskInfo2.topActivityInSizeCompat = true;
|
taskInfo2.topActivityInSizeCompat = true;
|
||||||
|
taskInfo2.isVisible = true;
|
||||||
mOrganizer.onTaskInfoChanged(taskInfo2);
|
mOrganizer.onTaskInfoChanged(taskInfo2);
|
||||||
verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId,
|
verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId,
|
||||||
taskInfo1.configuration, taskListener);
|
taskInfo1.configuration, taskListener);
|
||||||
|
|
||||||
|
// Not show size compat UI if task is not visible.
|
||||||
|
clearInvocations(mSizeCompatUI);
|
||||||
|
final RunningTaskInfo taskInfo3 =
|
||||||
|
createTaskInfo(taskInfo1.taskId, taskInfo1.getWindowingMode());
|
||||||
|
taskInfo3.displayId = taskInfo1.displayId;
|
||||||
|
taskInfo3.topActivityToken = taskInfo1.topActivityToken;
|
||||||
|
taskInfo3.topActivityInSizeCompat = true;
|
||||||
|
taskInfo3.isVisible = false;
|
||||||
|
mOrganizer.onTaskInfoChanged(taskInfo3);
|
||||||
|
verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId,
|
||||||
|
null /* taskConfig */, null /* sizeCompatActivity*/, null /* taskListener */);
|
||||||
|
|
||||||
clearInvocations(mSizeCompatUI);
|
clearInvocations(mSizeCompatUI);
|
||||||
mOrganizer.onTaskVanished(taskInfo1);
|
mOrganizer.onTaskVanished(taskInfo1);
|
||||||
verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId,
|
verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId,
|
||||||
|
|||||||
Reference in New Issue
Block a user