From d8c6fdc46d51668f0991ec8a8d85b503ef544f6e Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Wed, 4 Aug 2021 21:12:13 +0800 Subject: [PATCH] Fix testRelaunchConfigurationChangedWhileBecomingVisible flakiness The #getOccludingActivityAbove should stop searching occluding once reached the given boundary. It didn't stop searching due to the given activity was a translucent activity. Bug: 195493245 Test: atest ActivityLifecycleTests Change-Id: Idb16a5477650ba1113be0c07a98c40933a256ebc --- services/core/java/com/android/server/wm/Task.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 7d911bc049f0a..69ad59a1668dc 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -2969,14 +2969,15 @@ class Task extends TaskFragment { @Nullable ActivityRecord getOccludingActivityAbove(ActivityRecord activity) { final ActivityRecord top = getActivity(r -> { - if (!r.occludesParent()) { - return false; - } if (r == activity) { // Reached the given activity, return the activity to stop searching. return true; } + if (!r.occludesParent()) { + return false; + } + TaskFragment parent = r.getTaskFragment(); if (parent == activity.getTaskFragment()) { // Found it. This activity on top of the given activity on the same TaskFragment.