Loading core/java/android/app/ActivityTaskManager.java +19 −3 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.app; package android.app; import static android.view.Display.INVALID_DISPLAY; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.RequiresPermission; Loading Loading @@ -369,7 +371,8 @@ public class ActivityTaskManager { * @hide * @hide */ */ public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { return getTasks(maxNum, false /* filterForVisibleRecents */); return getTasks(maxNum, false /* filterForVisibleRecents */, false /* keepIntentExtra */, INVALID_DISPLAY); } } /** /** Loading @@ -378,7 +381,8 @@ public class ActivityTaskManager { */ */ public List<ActivityManager.RunningTaskInfo> getTasks( public List<ActivityManager.RunningTaskInfo> getTasks( int maxNum, boolean filterOnlyVisibleRecents) { int maxNum, boolean filterOnlyVisibleRecents) { return getTasks(maxNum, filterOnlyVisibleRecents, false /* keepIntentExtra */); return getTasks(maxNum, filterOnlyVisibleRecents, false /* keepIntentExtra */, INVALID_DISPLAY); } } /** /** Loading @@ -388,8 +392,20 @@ public class ActivityTaskManager { */ */ public List<ActivityManager.RunningTaskInfo> getTasks( public List<ActivityManager.RunningTaskInfo> getTasks( int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { return getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra, INVALID_DISPLAY); } /** * @return List of running tasks that can be filtered by visibility and displayId in recents * and keep intent extra. * @param displayId the target display id, or {@link INVALID_DISPLAY} not to filter by displayId * @hide */ public List<ActivityManager.RunningTaskInfo> getTasks( int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra, int displayId) { try { try { return getService().getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra); return getService().getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra, displayId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading core/java/android/app/IActivityTaskManager.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -158,7 +158,7 @@ interface IActivityTaskManager { boolean removeTask(int taskId); boolean removeTask(int taskId); void removeAllVisibleRecentTasks(); void removeAllVisibleRecentTasks(); List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra); boolean keepIntentExtra, int displayId); void moveTaskToFront(in IApplicationThread app, in String callingPackage, int task, void moveTaskToFront(in IApplicationThread app, in String callingPackage, int task, int flags, in Bundle options); int flags, in Bundle options); ParceledListSlice<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, int flags, ParceledListSlice<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, int flags, Loading services/core/java/com/android/server/app/GameTaskInfoProvider.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.app; package com.android.server.app; import static android.view.Display.INVALID_DISPLAY; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.RunningTaskInfo; Loading Loading @@ -93,7 +95,8 @@ final class GameTaskInfoProvider { runningTaskInfos = mActivityTaskManager.getTasks( runningTaskInfos = mActivityTaskManager.getTasks( /* maxNum= */ Integer.MAX_VALUE, /* maxNum= */ Integer.MAX_VALUE, /* filterOnlyVisibleRecents= */ false, /* filterOnlyVisibleRecents= */ false, /* keepIntentExtra= */ false); /* keepIntentExtra= */ false, INVALID_DISPLAY); } catch (RemoteException ex) { } catch (RemoteException ex) { Slog.w(TAG, "Failed to fetch running tasks"); Slog.w(TAG, "Failed to fetch running tasks"); return null; return null; Loading services/core/java/com/android/server/wm/ActivityTaskManagerService.java +12 −3 Original line number Original line Diff line number Diff line Loading @@ -2311,16 +2311,25 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { * @return a list of {@link ActivityManager.RunningTaskInfo} with up to {@code maxNum} items * @return a list of {@link ActivityManager.RunningTaskInfo} with up to {@code maxNum} items */ */ public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { return getTasks(maxNum, false /* filterForVisibleRecents */, false /* keepIntentExtra */); return getTasks(maxNum, false /* filterForVisibleRecents */, false /* keepIntentExtra */, INVALID_DISPLAY); } } /** /** * @param filterOnlyVisibleRecents whether to filter the tasks based on whether they would ever * @param filterOnlyVisibleRecents whether to filter the tasks based on whether they would ever * be visible in the recent task list in systemui * be visible in the recent task list in systemui */ */ @Override public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { return getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra, INVALID_DISPLAY); } /** * @param displayId the target display id, or {@link INVALID_DISPLAY} not to filter by displayId */ @Override public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra, int displayId) { final int callingUid = Binder.getCallingUid(); final int callingUid = Binder.getCallingUid(); final int callingPid = Binder.getCallingPid(); final int callingPid = Binder.getCallingPid(); Loading @@ -2342,7 +2351,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { final boolean allowed = isGetTasksAllowed("getTasks", callingPid, callingUid); final boolean allowed = isGetTasksAllowed("getTasks", callingPid, callingUid); flags |= (allowed ? RunningTasks.FLAG_ALLOWED : 0); flags |= (allowed ? RunningTasks.FLAG_ALLOWED : 0); mRootWindowContainer.getRunningTasks( mRootWindowContainer.getRunningTasks( maxNum, list, flags, callingUid, callingProfileIds); maxNum, list, flags, callingUid, callingProfileIds, displayId); } } return list; return list; Loading services/core/java/com/android/server/wm/RootWindowContainer.java +10 −3 Original line number Original line Diff line number Diff line Loading @@ -3345,9 +3345,16 @@ class RootWindowContainer extends WindowContainer<DisplayContent> @VisibleForTesting @VisibleForTesting void getRunningTasks(int maxNum, List<ActivityManager.RunningTaskInfo> list, void getRunningTasks(int maxNum, List<ActivityManager.RunningTaskInfo> list, int flags, int callingUid, ArraySet<Integer> profileIds) { int flags, int callingUid, ArraySet<Integer> profileIds, int displayId) { mTaskSupervisor.getRunningTasks().getTasks(maxNum, list, flags, this, callingUid, WindowContainer root = this; profileIds); if (displayId != INVALID_DISPLAY) { root = getDisplayContent(displayId); if (root == null) { return; } } mTaskSupervisor.getRunningTasks().getTasks(maxNum, list, flags, mService.getRecentTasks(), root, callingUid, profileIds); } } void startPowerModeLaunchIfNeeded(boolean forceSend, ActivityRecord targetActivity) { void startPowerModeLaunchIfNeeded(boolean forceSend, ActivityRecord targetActivity) { Loading Loading
core/java/android/app/ActivityTaskManager.java +19 −3 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.app; package android.app; import static android.view.Display.INVALID_DISPLAY; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.RequiresPermission; Loading Loading @@ -369,7 +371,8 @@ public class ActivityTaskManager { * @hide * @hide */ */ public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { return getTasks(maxNum, false /* filterForVisibleRecents */); return getTasks(maxNum, false /* filterForVisibleRecents */, false /* keepIntentExtra */, INVALID_DISPLAY); } } /** /** Loading @@ -378,7 +381,8 @@ public class ActivityTaskManager { */ */ public List<ActivityManager.RunningTaskInfo> getTasks( public List<ActivityManager.RunningTaskInfo> getTasks( int maxNum, boolean filterOnlyVisibleRecents) { int maxNum, boolean filterOnlyVisibleRecents) { return getTasks(maxNum, filterOnlyVisibleRecents, false /* keepIntentExtra */); return getTasks(maxNum, filterOnlyVisibleRecents, false /* keepIntentExtra */, INVALID_DISPLAY); } } /** /** Loading @@ -388,8 +392,20 @@ public class ActivityTaskManager { */ */ public List<ActivityManager.RunningTaskInfo> getTasks( public List<ActivityManager.RunningTaskInfo> getTasks( int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { return getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra, INVALID_DISPLAY); } /** * @return List of running tasks that can be filtered by visibility and displayId in recents * and keep intent extra. * @param displayId the target display id, or {@link INVALID_DISPLAY} not to filter by displayId * @hide */ public List<ActivityManager.RunningTaskInfo> getTasks( int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra, int displayId) { try { try { return getService().getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra); return getService().getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra, displayId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading
core/java/android/app/IActivityTaskManager.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -158,7 +158,7 @@ interface IActivityTaskManager { boolean removeTask(int taskId); boolean removeTask(int taskId); void removeAllVisibleRecentTasks(); void removeAllVisibleRecentTasks(); List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra); boolean keepIntentExtra, int displayId); void moveTaskToFront(in IApplicationThread app, in String callingPackage, int task, void moveTaskToFront(in IApplicationThread app, in String callingPackage, int task, int flags, in Bundle options); int flags, in Bundle options); ParceledListSlice<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, int flags, ParceledListSlice<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, int flags, Loading
services/core/java/com/android/server/app/GameTaskInfoProvider.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.app; package com.android.server.app; import static android.view.Display.INVALID_DISPLAY; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.RunningTaskInfo; Loading Loading @@ -93,7 +95,8 @@ final class GameTaskInfoProvider { runningTaskInfos = mActivityTaskManager.getTasks( runningTaskInfos = mActivityTaskManager.getTasks( /* maxNum= */ Integer.MAX_VALUE, /* maxNum= */ Integer.MAX_VALUE, /* filterOnlyVisibleRecents= */ false, /* filterOnlyVisibleRecents= */ false, /* keepIntentExtra= */ false); /* keepIntentExtra= */ false, INVALID_DISPLAY); } catch (RemoteException ex) { } catch (RemoteException ex) { Slog.w(TAG, "Failed to fetch running tasks"); Slog.w(TAG, "Failed to fetch running tasks"); return null; return null; Loading
services/core/java/com/android/server/wm/ActivityTaskManagerService.java +12 −3 Original line number Original line Diff line number Diff line Loading @@ -2311,16 +2311,25 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { * @return a list of {@link ActivityManager.RunningTaskInfo} with up to {@code maxNum} items * @return a list of {@link ActivityManager.RunningTaskInfo} with up to {@code maxNum} items */ */ public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum) { return getTasks(maxNum, false /* filterForVisibleRecents */, false /* keepIntentExtra */); return getTasks(maxNum, false /* filterForVisibleRecents */, false /* keepIntentExtra */, INVALID_DISPLAY); } } /** /** * @param filterOnlyVisibleRecents whether to filter the tasks based on whether they would ever * @param filterOnlyVisibleRecents whether to filter the tasks based on whether they would ever * be visible in the recent task list in systemui * be visible in the recent task list in systemui */ */ @Override public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { boolean filterOnlyVisibleRecents, boolean keepIntentExtra) { return getTasks(maxNum, filterOnlyVisibleRecents, keepIntentExtra, INVALID_DISPLAY); } /** * @param displayId the target display id, or {@link INVALID_DISPLAY} not to filter by displayId */ @Override public List<ActivityManager.RunningTaskInfo> getTasks(int maxNum, boolean filterOnlyVisibleRecents, boolean keepIntentExtra, int displayId) { final int callingUid = Binder.getCallingUid(); final int callingUid = Binder.getCallingUid(); final int callingPid = Binder.getCallingPid(); final int callingPid = Binder.getCallingPid(); Loading @@ -2342,7 +2351,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { final boolean allowed = isGetTasksAllowed("getTasks", callingPid, callingUid); final boolean allowed = isGetTasksAllowed("getTasks", callingPid, callingUid); flags |= (allowed ? RunningTasks.FLAG_ALLOWED : 0); flags |= (allowed ? RunningTasks.FLAG_ALLOWED : 0); mRootWindowContainer.getRunningTasks( mRootWindowContainer.getRunningTasks( maxNum, list, flags, callingUid, callingProfileIds); maxNum, list, flags, callingUid, callingProfileIds, displayId); } } return list; return list; Loading
services/core/java/com/android/server/wm/RootWindowContainer.java +10 −3 Original line number Original line Diff line number Diff line Loading @@ -3345,9 +3345,16 @@ class RootWindowContainer extends WindowContainer<DisplayContent> @VisibleForTesting @VisibleForTesting void getRunningTasks(int maxNum, List<ActivityManager.RunningTaskInfo> list, void getRunningTasks(int maxNum, List<ActivityManager.RunningTaskInfo> list, int flags, int callingUid, ArraySet<Integer> profileIds) { int flags, int callingUid, ArraySet<Integer> profileIds, int displayId) { mTaskSupervisor.getRunningTasks().getTasks(maxNum, list, flags, this, callingUid, WindowContainer root = this; profileIds); if (displayId != INVALID_DISPLAY) { root = getDisplayContent(displayId); if (root == null) { return; } } mTaskSupervisor.getRunningTasks().getTasks(maxNum, list, flags, mService.getRecentTasks(), root, callingUid, profileIds); } } void startPowerModeLaunchIfNeeded(boolean forceSend, ActivityRecord targetActivity) { void startPowerModeLaunchIfNeeded(boolean forceSend, ActivityRecord targetActivity) { Loading