Merge "Not show size compat UI when task is not visible" into sc-dev

This commit is contained in:
Chris Li
2021-07-08 05:53:15 +00:00
committed by Android (Google) Code Review
3 changed files with 16 additions and 2 deletions

View File

@@ -361,7 +361,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);
} }
/** /**

View File

@@ -497,7 +497,7 @@ public class ShellTaskOrganizer extends TaskOrganizer {
// 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 /* sizeCompatActivity*/, null /* taskConfig */, null /* sizeCompatActivity*/,
null /* taskListener */); null /* taskListener */);

View File

@@ -306,10 +306,23 @@ public class ShellTaskOrganizerTests {
taskInfo2.displayId = taskInfo1.displayId; taskInfo2.displayId = taskInfo1.displayId;
taskInfo2.topActivityToken = taskInfo1.topActivityToken; taskInfo2.topActivityToken = taskInfo1.topActivityToken;
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, taskInfo1.topActivityToken, taskListener); taskInfo1.configuration, taskInfo1.topActivityToken, 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,