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

Commit ab17978c authored by Rob Carr's avatar Rob Carr
Browse files

TaskOrganizer: Send newest TaskInfo in taskVanished

When leaving PIP SysUI might need to know the target mode
and bounds to animate correctly. taskInfoChanged may
not have yet been dispatched though. A simple solution is
to provide the info in TaskVanished.

Bug: 150716630
Test: Existing tests pass
Change-Id: I871f745198d6b4bc92cc5701128c5489c154f4f9
parent d2d3e4d9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ import android.app.ActivityManager;
 */
oneway interface ITaskOrganizer {
    void taskAppeared(in ActivityManager.RunningTaskInfo taskInfo);
    void taskVanished(in IWindowContainer container);
    void taskVanished(in ActivityManager.RunningTaskInfo taskInfo);

    /**
     * Called upon completion of
+2 −1
Original line number Diff line number Diff line
@@ -271,7 +271,8 @@ public class PipTaskOrganizer extends ITaskOrganizer.Stub {
    }

    @Override
    public void taskVanished(IWindowContainer token) {
    public void taskVanished(ActivityManager.RunningTaskInfo info) {
        IWindowContainer token = info.token;
        Objects.requireNonNull(token, "Requires valid IWindowContainer");
        if (token.asBinder() != mToken.asBinder()) {
            Log.wtf(TAG, "Unrecognized token: " + token);
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ class SplitScreenTaskOrganizer extends ITaskOrganizer.Stub {
    }

    @Override
    public void taskVanished(IWindowContainer container) {
    public void taskVanished(RunningTaskInfo taskInfo) {
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -128,7 +128,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub

        void removeTask(Task t) {
            try {
                mOrganizer.taskVanished(t.getRemoteToken());
                mOrganizer.taskVanished(t.getTaskInfo());
            } catch (Exception e) {
                Slog.e(TAG, "Exception sending taskVanished callback" + e);
            }
+1 −1
Original line number Diff line number Diff line
@@ -1019,7 +1019,7 @@ public class ActivityStarterTests extends ActivityTestsBase {
        public void taskAppeared(ActivityManager.RunningTaskInfo info) {
        }
        @Override
        public void taskVanished(IWindowContainer wc) {
        public void taskVanished(ActivityManager.RunningTaskInfo info) {
        }
        @Override
        public void transactionReady(int id, SurfaceControl.Transaction t) {
Loading