summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/ActivityStackSupervisor.java8
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java1
-rw-r--r--services/core/java/com/android/server/wm/KeyguardController.java1
-rw-r--r--services/core/java/com/android/server/wm/LockTaskController.java3
-rw-r--r--services/core/java/com/android/server/wm/RootWindowContainer.java1
-rw-r--r--services/core/java/com/android/server/wm/TaskOrganizerController.java33
6 files changed, 40 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
index 3f8fd73c3534..aed1d95e1ef0 100644
--- a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
@@ -2009,6 +2009,8 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {
pw.println();
pw.println("ActivityStackSupervisor state:");
mRootWindowContainer.dump(pw, prefix);
+ getKeyguardController().dump(pw, prefix);
+ mService.getLockTaskController().dump(pw, prefix);
pw.print(prefix);
pw.println("mCurTaskIdForUser=" + mCurTaskIdForUser);
pw.println(prefix + "mUserStackInFront=" + mRootWindowContainer.mUserStackInFront);
@@ -2019,10 +2021,8 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {
}
}
pw.print(prefix); pw.print("isHomeRecentsComponent=");
- pw.print(mRecentTasks.isRecentsComponentHomeActivity(mRootWindowContainer.mCurrentUser));
-
- getKeyguardController().dump(pw, prefix);
- mService.getLockTaskController().dump(pw, prefix);
+ pw.println(mRecentTasks.isRecentsComponentHomeActivity(mRootWindowContainer.mCurrentUser));
+ pw.println();
}
static boolean printThisActivity(PrintWriter pw, ActivityRecord activity, String dumpPackage,
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 69218164c0ad..7e999c65c010 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -4978,6 +4978,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
printedAnything = true;
mStackSupervisor.dump(pw, " ");
+ mTaskOrganizerController.dump(pw, " ");
}
if (!printedAnything) {
diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java
index c10b8a56fc47..a936e74bf694 100644
--- a/services/core/java/com/android/server/wm/KeyguardController.java
+++ b/services/core/java/com/android/server/wm/KeyguardController.java
@@ -565,6 +565,7 @@ class KeyguardController {
dumpDisplayStates(pw, prefix);
pw.println(prefix + " mDismissalRequested=" + mDismissalRequested);
pw.println(prefix + " mVisibilityTransactionDepth=" + mVisibilityTransactionDepth);
+ pw.println();
}
void dumpDebug(ProtoOutputStream proto, long fieldId) {
diff --git a/services/core/java/com/android/server/wm/LockTaskController.java b/services/core/java/com/android/server/wm/LockTaskController.java
index 3b25b742e327..337a68e62043 100644
--- a/services/core/java/com/android/server/wm/LockTaskController.java
+++ b/services/core/java/com/android/server/wm/LockTaskController.java
@@ -917,7 +917,7 @@ public class LockTaskController {
}
public void dump(PrintWriter pw, String prefix) {
- pw.println(prefix + "LockTaskController");
+ pw.println(prefix + "LockTaskController:");
prefix = prefix + " ";
pw.println(prefix + "mLockTaskModeState=" + lockTaskModeToString());
pw.println(prefix + "mLockTaskModeTasks=");
@@ -929,6 +929,7 @@ public class LockTaskController {
pw.println(prefix + " u" + mLockTaskPackages.keyAt(i)
+ ":" + Arrays.toString(mLockTaskPackages.valueAt(i)));
}
+ pw.println();
}
private String lockTaskModeToString() {
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index 342703537a32..26eb36f1341d 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -3496,6 +3496,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
final DisplayContent display = getChildAt(i);
display.dump(pw, prefix, true /* dumpAll */);
}
+ pw.println();
}
/**
diff --git a/services/core/java/com/android/server/wm/TaskOrganizerController.java b/services/core/java/com/android/server/wm/TaskOrganizerController.java
index 15b483cd0c49..8edcd2fb7765 100644
--- a/services/core/java/com/android/server/wm/TaskOrganizerController.java
+++ b/services/core/java/com/android/server/wm/TaskOrganizerController.java
@@ -32,6 +32,7 @@ import android.content.pm.ActivityInfo;
import android.os.Binder;
import android.os.IBinder;
import android.os.RemoteException;
+import android.os.UserHandle;
import android.util.Slog;
import android.util.SparseArray;
import android.window.ITaskOrganizer;
@@ -40,10 +41,12 @@ import android.window.IWindowContainer;
import com.android.internal.util.ArrayUtils;
+import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import java.util.WeakHashMap;
/**
@@ -84,8 +87,9 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
private final ITaskOrganizer mOrganizer;
private final DeathRecipient mDeathRecipient;
private final ArrayList<Task> mOrganizedTasks = new ArrayList<>();
+ private final int mUid;
- TaskOrganizerState(ITaskOrganizer organizer) {
+ TaskOrganizerState(ITaskOrganizer organizer, int uid) {
mOrganizer = organizer;
mDeathRecipient = new DeathRecipient(organizer);
try {
@@ -93,6 +97,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
} catch (RemoteException e) {
Slog.e(TAG, "TaskOrganizer failed to register death recipient");
}
+ mUid = uid;
}
void addTask(Task t) {
@@ -179,6 +184,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
+ " windowing modes are supported for registerTaskOrganizer");
}
enforceStackPermission("registerTaskOrganizer()");
+ final int uid = Binder.getCallingUid();
final long origId = Binder.clearCallingIdentity();
try {
synchronized (mGlobalLock) {
@@ -195,7 +201,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
orgs.add(organizer.asBinder());
if (!mTaskOrganizerStates.containsKey(organizer.asBinder())) {
mTaskOrganizerStates.put(organizer.asBinder(),
- new TaskOrganizerState(organizer));
+ new TaskOrganizerState(organizer, uid));
}
if (orgs.size() == 1) {
@@ -466,4 +472,27 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
Binder.restoreCallingIdentity(ident);
}
}
+
+ public void dump(PrintWriter pw, String prefix) {
+ final String innerPrefix = prefix + " ";
+ pw.print(prefix); pw.println("TaskOrganizerController:");
+ pw.print(innerPrefix); pw.println("Per windowing mode:");
+ for (int i = 0; i < mTaskOrganizersForWindowingMode.size(); i++) {
+ final int windowingMode = mTaskOrganizersForWindowingMode.keyAt(i);
+ final List<IBinder> taskOrgs = mTaskOrganizersForWindowingMode.valueAt(i);
+ pw.println(innerPrefix + " "
+ + WindowConfiguration.windowingModeToString(windowingMode) + ":");
+ for (int j = 0; j < taskOrgs.size(); j++) {
+ final TaskOrganizerState state = mTaskOrganizerStates.get(taskOrgs.get(j));
+ final ArrayList<Task> tasks = state.mOrganizedTasks;
+ pw.print(innerPrefix + " ");
+ pw.println(state.mOrganizer + " uid=" + state.mUid + ":");
+ for (int k = 0; k < tasks.size(); k++) {
+ pw.println(innerPrefix + " " + tasks.get(k));
+ }
+ }
+
+ }
+ pw.println();
+ }
}