Loading core/java/android/app/ITaskStackListener.aidl +7 −0 Original line number Diff line number Diff line Loading @@ -197,4 +197,11 @@ oneway interface ITaskStackListener { * Called when any additions or deletions to the recent tasks list have been made. */ void onRecentTaskListUpdated(); /** * Called when Recent Tasks list is frozen or unfrozen. * * @param frozen if true, Recents Tasks list is currently frozen, false otherwise */ void onRecentTaskListFrozenChanged(boolean frozen); } core/java/android/app/TaskStackListener.java +4 −0 Original line number Diff line number Diff line Loading @@ -190,4 +190,8 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { @Override public void onRecentTaskListUpdated() throws RemoteException { } @Override public void onRecentTaskListFrozenChanged(boolean frozen) { } } packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.shared.system; import android.app.ActivityManager.RunningTaskInfo; import android.app.ITaskStackListener; import android.content.ComponentName; import android.os.IBinder; import android.os.UserHandle; Loading Loading @@ -106,6 +107,9 @@ public abstract class TaskStackChangeListener { */ public void onRecentTaskListUpdated() { } /** @see ITaskStackListener#onRecentTaskListFrozenChanged(boolean) */ public void onRecentTaskListFrozenChanged(boolean frozen) { } /** * Checks that the current user matches the process. Since * {@link android.app.ITaskStackListener} is not multi-user aware, handlers of Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +13 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,12 @@ public class TaskStackChangeListeners extends TaskStackListener { mHandler.obtainMessage(H.ON_TASK_LIST_UPDATED).sendToTarget(); } @Override public void onRecentTaskListFrozenChanged(boolean frozen) { mHandler.obtainMessage(H.ON_TASK_LIST_FROZEN_UNFROZEN, frozen ? 1 : 0, 0 /* unused */) .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; Loading @@ -247,6 +253,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_TASK_DISPLAY_CHANGED = 20; private static final int ON_TASK_LIST_UPDATED = 21; private static final int ON_SINGLE_TASK_DISPLAY_EMPTY = 22; private static final int ON_TASK_LIST_FROZEN_UNFROZEN = 23; public H(Looper looper) { Loading Loading @@ -408,6 +415,12 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } case ON_TASK_LIST_FROZEN_UNFROZEN: { for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onRecentTaskListFrozenChanged(msg.arg1 != 0); } break; } } } } Loading services/core/java/com/android/server/wm/RecentTasks.java +7 −1 Original line number Diff line number Diff line Loading @@ -272,9 +272,14 @@ class RecentTasks { * app, or a timeout occurs. */ void setFreezeTaskListReordering() { // Only fire the callback once per quickswitch session, not on every individual switch if (!mFreezeTaskListReordering) { mTaskNotificationController.notifyTaskListFrozen(true); mFreezeTaskListReordering = true; } // Always update the reordering time when this is called to ensure that the timeout // is reset mFreezeTaskListReordering = true; mService.mH.removeCallbacks(mResetFreezeTaskListOnTimeoutRunnable); mService.mH.postDelayed(mResetFreezeTaskListOnTimeoutRunnable, mFreezeTaskListTimeoutMs); } Loading Loading @@ -302,6 +307,7 @@ class RecentTasks { trimInactiveRecentTasks(); mTaskNotificationController.notifyTaskStackChanged(); mTaskNotificationController.notifyTaskListFrozen(false); } /** Loading Loading
core/java/android/app/ITaskStackListener.aidl +7 −0 Original line number Diff line number Diff line Loading @@ -197,4 +197,11 @@ oneway interface ITaskStackListener { * Called when any additions or deletions to the recent tasks list have been made. */ void onRecentTaskListUpdated(); /** * Called when Recent Tasks list is frozen or unfrozen. * * @param frozen if true, Recents Tasks list is currently frozen, false otherwise */ void onRecentTaskListFrozenChanged(boolean frozen); }
core/java/android/app/TaskStackListener.java +4 −0 Original line number Diff line number Diff line Loading @@ -190,4 +190,8 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { @Override public void onRecentTaskListUpdated() throws RemoteException { } @Override public void onRecentTaskListFrozenChanged(boolean frozen) { } }
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.shared.system; import android.app.ActivityManager.RunningTaskInfo; import android.app.ITaskStackListener; import android.content.ComponentName; import android.os.IBinder; import android.os.UserHandle; Loading Loading @@ -106,6 +107,9 @@ public abstract class TaskStackChangeListener { */ public void onRecentTaskListUpdated() { } /** @see ITaskStackListener#onRecentTaskListFrozenChanged(boolean) */ public void onRecentTaskListFrozenChanged(boolean frozen) { } /** * Checks that the current user matches the process. Since * {@link android.app.ITaskStackListener} is not multi-user aware, handlers of Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +13 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,12 @@ public class TaskStackChangeListeners extends TaskStackListener { mHandler.obtainMessage(H.ON_TASK_LIST_UPDATED).sendToTarget(); } @Override public void onRecentTaskListFrozenChanged(boolean frozen) { mHandler.obtainMessage(H.ON_TASK_LIST_FROZEN_UNFROZEN, frozen ? 1 : 0, 0 /* unused */) .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; Loading @@ -247,6 +253,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_TASK_DISPLAY_CHANGED = 20; private static final int ON_TASK_LIST_UPDATED = 21; private static final int ON_SINGLE_TASK_DISPLAY_EMPTY = 22; private static final int ON_TASK_LIST_FROZEN_UNFROZEN = 23; public H(Looper looper) { Loading Loading @@ -408,6 +415,12 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } case ON_TASK_LIST_FROZEN_UNFROZEN: { for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onRecentTaskListFrozenChanged(msg.arg1 != 0); } break; } } } } Loading
services/core/java/com/android/server/wm/RecentTasks.java +7 −1 Original line number Diff line number Diff line Loading @@ -272,9 +272,14 @@ class RecentTasks { * app, or a timeout occurs. */ void setFreezeTaskListReordering() { // Only fire the callback once per quickswitch session, not on every individual switch if (!mFreezeTaskListReordering) { mTaskNotificationController.notifyTaskListFrozen(true); mFreezeTaskListReordering = true; } // Always update the reordering time when this is called to ensure that the timeout // is reset mFreezeTaskListReordering = true; mService.mH.removeCallbacks(mResetFreezeTaskListOnTimeoutRunnable); mService.mH.postDelayed(mResetFreezeTaskListOnTimeoutRunnable, mFreezeTaskListTimeoutMs); } Loading Loading @@ -302,6 +307,7 @@ class RecentTasks { trimInactiveRecentTasks(); mTaskNotificationController.notifyTaskStackChanged(); mTaskNotificationController.notifyTaskListFrozen(false); } /** Loading