Loading services/core/java/com/android/server/wm/ActivityRecord.java +1 −1 Original line number Diff line number Diff line Loading @@ -2606,7 +2606,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A finishActivityResults(resultCode, resultData, resultGrants); final boolean endTask = task.getActivityBelow(this) == null final boolean endTask = task.getTopNonFinishingActivity() == null && !task.isClearingToReuseTask(); final int transit = endTask ? TRANSIT_OLD_TASK_CLOSE : TRANSIT_OLD_ACTIVITY_CLOSE; if (isState(RESUMED)) { Loading services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +15 −0 Original line number Diff line number Diff line Loading @@ -1063,6 +1063,21 @@ public class ActivityRecordTests extends WindowTestsBase { assertEquals(STOPPED, nextTop.getState()); } /** * Verify that finish bottom activity from a task won't boost it to top. */ @Test public void testFinishBottomActivityIfPossible_noZBoost() { final ActivityRecord bottomActivity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(bottomActivity.getTask()).build(); topActivity.mVisibleRequested = true; // simulating bottomActivity as a trampoline activity. bottomActivity.setState(RESUMED, "test"); bottomActivity.finishIfPossible("test", false); assertFalse(bottomActivity.mNeedsZBoost); } /** * Verify that complete finish request for visible activity must be delayed before the next one * becomes visible. Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +1 −1 Original line number Diff line number Diff line Loading @@ -2606,7 +2606,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A finishActivityResults(resultCode, resultData, resultGrants); final boolean endTask = task.getActivityBelow(this) == null final boolean endTask = task.getTopNonFinishingActivity() == null && !task.isClearingToReuseTask(); final int transit = endTask ? TRANSIT_OLD_TASK_CLOSE : TRANSIT_OLD_ACTIVITY_CLOSE; if (isState(RESUMED)) { Loading
services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +15 −0 Original line number Diff line number Diff line Loading @@ -1063,6 +1063,21 @@ public class ActivityRecordTests extends WindowTestsBase { assertEquals(STOPPED, nextTop.getState()); } /** * Verify that finish bottom activity from a task won't boost it to top. */ @Test public void testFinishBottomActivityIfPossible_noZBoost() { final ActivityRecord bottomActivity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(bottomActivity.getTask()).build(); topActivity.mVisibleRequested = true; // simulating bottomActivity as a trampoline activity. bottomActivity.setState(RESUMED, "test"); bottomActivity.finishIfPossible("test", false); assertFalse(bottomActivity.mNeedsZBoost); } /** * Verify that complete finish request for visible activity must be delayed before the next one * becomes visible. Loading