Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a35cbafe authored by Bryce Lee's avatar Bryce Lee Committed by android-build-merger
Browse files

Merge "Remove activity from stopping activities once resumed." into oc-mr1-dev

am: 02584a23

Change-Id: I6210e77f2d4a2cea52f2a314b2d329b51f79c93a
parents 90f0c143 02584a23
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3302,6 +3302,9 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
    }

    boolean reportResumedActivityLocked(ActivityRecord r) {
        // A resumed activity cannot be stopping. remove from list
        mStoppingActivities.remove(r);

        final ActivityStack stack = r.getStack();
        if (isFocusedStack(stack)) {
            mService.updateUsageStats(r, true);
+18 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;

import android.content.ComponentName;
import android.graphics.Rect;
@@ -117,4 +118,21 @@ public class ActivityStackSupervisorTests extends ActivityTestsBase {
            assertTrue(stackTasks.contains(task));
        }
    }

    /**
     * Ensures that an activity is removed from the stopping activities list once it is resumed.
     */
    @Test
    public void testStoppingActivityRemovedWhenResumed() throws Exception {
        final ActivityManagerService service = createActivityManagerService();
        final TaskRecord firstTask = createTask(service, testActivityComponent,
            FULLSCREEN_WORKSPACE_STACK_ID);
        final ActivityRecord firstActivity = createActivity(service, testActivityComponent,
            firstTask);
        service.mStackSupervisor.mStoppingActivities.add(firstActivity);

        firstActivity.completeResumeLocked();

        assertFalse(service.mStackSupervisor.mStoppingActivities.contains(firstActivity));
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -145,6 +145,10 @@ public class ActivityTestsBase {
        protected ActivityStackSupervisor createStackSupervisor() {
            return new TestActivityStackSupervisor(this, mHandlerThread.getLooper());
        }

        @Override
        void updateUsageStats(ActivityRecord component, boolean resumed) {
        }
    }

    /**