summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/Task.java2
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/TaskTests.java38
2 files changed, 40 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index fe478c60bc32..37a1ebfb76ab 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -5119,6 +5119,7 @@ class Task extends TaskFragment {
mTranslucentActivityWaiting = r;
mPendingConvertFromTranslucentActivity = r;
mUndrawnActivitiesBelowTopTranslucent.clear();
+ updateTaskDescription();
mHandler.sendEmptyMessageDelayed(TRANSLUCENT_TIMEOUT_MSG, TRANSLUCENT_CONVERSION_TIMEOUT);
}
@@ -5128,6 +5129,7 @@ class Task extends TaskFragment {
+ " but is " + r);
}
mPendingConvertFromTranslucentActivity = null;
+ updateTaskDescription();
}
/**
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
index 1febc9fb4742..1357c216ae4f 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
@@ -92,6 +92,7 @@ import android.util.Xml;
import android.view.Display;
import android.view.DisplayInfo;
import android.view.SurfaceControl;
+import android.view.WindowInsetsController;
import android.window.TaskFragmentOrganizer;
import androidx.test.filters.MediumTest;
@@ -2111,6 +2112,43 @@ public class TaskTests extends WindowTestsBase {
assertEquals(Color.RED, task.getTaskDescription().getBackgroundColor());
}
+ @Test
+ public void testUpdateTopOpaqueSystemBarsAppearanceWhenActivityBecomesTransparent() {
+ final Task task = createTask(mDisplayContent);
+ final ActivityRecord activity = createActivityRecord(task);
+ final ActivityManager.TaskDescription td = new ActivityManager.TaskDescription();
+ td.setSystemBarsAppearance(
+ WindowInsetsController.APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND);
+ activity.setTaskDescription(td);
+
+ assertEquals(WindowInsetsController.APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND,
+ task.getTaskDescription().getTopOpaqueSystemBarsAppearance());
+
+ activity.setOccludesParent(false);
+
+ assertEquals(0, task.getTaskDescription().getTopOpaqueSystemBarsAppearance());
+ }
+
+ @Test
+ public void testUpdateTopOpaqueSystemBarsAppearanceWhenActivityBecomesOpaque() {
+ final Task task = createTask(mDisplayContent);
+ final ActivityRecord activity = createActivityRecord(task);
+ activity.setOccludesParent(false);
+
+ final ActivityManager.TaskDescription td = new ActivityManager.TaskDescription();
+ td.setSystemBarsAppearance(
+ WindowInsetsController.APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND);
+ activity.setTaskDescription(td);
+
+ assertEquals(0, task.getTaskDescription().getTopOpaqueSystemBarsAppearance());
+
+ activity.setOccludesParent(true);
+
+ assertEquals(WindowInsetsController.APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND,
+ task.getTaskDescription().getTopOpaqueSystemBarsAppearance());
+
+ }
+
private Task getTestTask() {
return new TaskBuilder(mSupervisor).setCreateActivity(true).build();
}