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

Commit d2310e6c authored by David Nelloms's avatar David Nelloms Committed by Android (Google) Code Review
Browse files

Merge "Notify on task display change." into qt-r1-dev

parents 073e0a80 1ceedb55
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -177,4 +177,12 @@ oneway interface ITaskStackListener {
     * @param displayId the id of the display on which contents are drawn.
     */
    void onSingleTaskDisplayDrawn(int displayId);

    /**
     * Called when a task is reparented to a stack on a different display.
     *
     * @param taskId id of the task which was moved to a different display.
     * @param newDisplayId id of the new display.
     */
    void onTaskDisplayChanged(int taskId, int newDisplayId);
}
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.RemoteException;
/**
 * Classes interested in observing only a subset of changes using ITaskStackListener can extend
 * this class to avoid having to implement all the methods.
 *
 * @hide
 */
public abstract class TaskStackListener extends ITaskStackListener.Stub {
@@ -177,4 +178,8 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub {
    @Override
    public void onSingleTaskDisplayDrawn(int displayId) throws RemoteException {
    }

    @Override
    public void onTaskDisplayChanged(int taskId, int newDisplayId) throws RemoteException {
    }
}
+11 −1
Original line number Diff line number Diff line
@@ -925,6 +925,16 @@ public class CarStatusBar extends StatusBar implements
                Log.e(TAG, "Getting StackInfo from activity manager failed", e);
            }
        }

        @Override
        public void onTaskDisplayChanged(int taskId, int newDisplayId) {
            try {
                mCarFacetButtonController.taskChanged(
                        ActivityTaskManager.getService().getAllStackInfos());
            } catch (Exception e) {
                Log.e(TAG, "Getting StackInfo from activity manager failed", e);
            }
        }
    }

    private void onDrivingStateChanged(CarDrivingStateEvent notUsed) {
+8 −0
Original line number Diff line number Diff line
@@ -86,6 +86,14 @@ public abstract class TaskStackChangeListener {

    public void onBackPressedOnTaskRoot(RunningTaskInfo taskInfo) { }

    /**
     * Called when a task is reparented to a stack on a different display.
     *
     * @param taskId id of the task which was moved to a different display.
     * @param newDisplayId id of the new display.
     */
    public void onTaskDisplayChanged(int taskId, int newDisplayId) { }

    /**
     * Checks that the current user matches the process. Since
     * {@link android.app.ITaskStackListener} is not multi-user aware, handlers of
+15 −3
Original line number Diff line number Diff line
@@ -208,6 +208,11 @@ public class TaskStackChangeListeners extends TaskStackListener {
                0 /* unused */).sendToTarget();
    }

    @Override
    public void onTaskDisplayChanged(int taskId, int newDisplayId) throws RemoteException {
        mHandler.obtainMessage(H.ON_TASK_DISPLAY_CHANGED, taskId, newDisplayId).sendToTarget();
    }

    private final class H extends Handler {
        private static final int ON_TASK_STACK_CHANGED = 1;
        private static final int ON_TASK_SNAPSHOT_CHANGED = 2;
@@ -228,6 +233,7 @@ public class TaskStackChangeListeners extends TaskStackListener {
        private static final int ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED = 17;
        private static final int ON_BACK_PRESSED_ON_TASK_ROOT = 18;
        private static final int ON_SINGLE_TASK_DISPLAY_DRAWN = 19;
        private static final int ON_TASK_DISPLAY_CHANGED = 20;


        public H(Looper looper) {
@@ -370,6 +376,12 @@ public class TaskStackChangeListeners extends TaskStackListener {
                        }
                        break;
                    }
                    case ON_TASK_DISPLAY_CHANGED: {
                        for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
                            mTaskStackListeners.get(i).onTaskDisplayChanged(msg.arg1, msg.arg2);
                        }
                        break;
                    }
                }
            }
        }
Loading