Loading services/core/java/com/android/server/am/ActivityRecord.java +4 −0 Original line number Diff line number Diff line Loading @@ -2391,6 +2391,10 @@ final class ActivityRecord implements AppWindowContainerListener { return (config.uiMode & Configuration.UI_MODE_TYPE_MASK) == UI_MODE_TYPE_VR_HEADSET; } int getUid() { return info.applicationInfo.uid; } @Override public String toString() { if (stringName != null) { Loading services/core/java/com/android/server/am/ActivityStack.java +7 −3 Original line number Diff line number Diff line Loading @@ -741,17 +741,21 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai /** Checks if there are tasks with specific UID in the stack. */ boolean isUidPresent(int uid) { for (TaskRecord task : mTaskHistory) { if (task.effectiveUid == uid) { for (ActivityRecord r : task.mActivities) { if (r.getUid() == uid) { return true; } } } return false; } /** Get all UIDs that are present in the stack. */ void getPresentUIDs(IntArray presentUIDs) { for (TaskRecord task : mTaskHistory) { presentUIDs.add(task.effectiveUid); for (ActivityRecord r : task.mActivities) { presentUIDs.add(r.getUid()); } } } Loading services/core/java/com/android/server/am/ActivityStackSupervisor.java +5 −1 Original line number Diff line number Diff line Loading @@ -1636,7 +1636,11 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D mDisplayAccessUIDs.clear(); for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) { final ActivityDisplay activityDisplay = mActivityDisplays.valueAt(displayNdx); mDisplayAccessUIDs.append(activityDisplay.mDisplayId, activityDisplay.getPresentUIDs()); // Only bother calculating the whitelist for private displays if (activityDisplay.isPrivate()) { mDisplayAccessUIDs.append( activityDisplay.mDisplayId, activityDisplay.getPresentUIDs()); } } // Store updated lists in DisplayManager. Callers from outside of AM should get them there. mDisplayManagerInternal.setDisplayAccessUIDs(mDisplayAccessUIDs); Loading services/core/java/com/android/server/am/TaskRecord.java +4 −0 Original line number Diff line number Diff line Loading @@ -1236,6 +1236,10 @@ final class TaskRecord extends ConfigurationContainer implements TaskWindowConta mWindowContainerController.positionChildAt(appController, index); } r.onOverrideConfigurationSent(); // Make sure the list of display UID whitelists is updated // now that this record is in a new task. mService.mStackSupervisor.updateUIDsPresentOnDisplay(); } /** Loading Loading
services/core/java/com/android/server/am/ActivityRecord.java +4 −0 Original line number Diff line number Diff line Loading @@ -2391,6 +2391,10 @@ final class ActivityRecord implements AppWindowContainerListener { return (config.uiMode & Configuration.UI_MODE_TYPE_MASK) == UI_MODE_TYPE_VR_HEADSET; } int getUid() { return info.applicationInfo.uid; } @Override public String toString() { if (stringName != null) { Loading
services/core/java/com/android/server/am/ActivityStack.java +7 −3 Original line number Diff line number Diff line Loading @@ -741,17 +741,21 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai /** Checks if there are tasks with specific UID in the stack. */ boolean isUidPresent(int uid) { for (TaskRecord task : mTaskHistory) { if (task.effectiveUid == uid) { for (ActivityRecord r : task.mActivities) { if (r.getUid() == uid) { return true; } } } return false; } /** Get all UIDs that are present in the stack. */ void getPresentUIDs(IntArray presentUIDs) { for (TaskRecord task : mTaskHistory) { presentUIDs.add(task.effectiveUid); for (ActivityRecord r : task.mActivities) { presentUIDs.add(r.getUid()); } } } Loading
services/core/java/com/android/server/am/ActivityStackSupervisor.java +5 −1 Original line number Diff line number Diff line Loading @@ -1636,7 +1636,11 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D mDisplayAccessUIDs.clear(); for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) { final ActivityDisplay activityDisplay = mActivityDisplays.valueAt(displayNdx); mDisplayAccessUIDs.append(activityDisplay.mDisplayId, activityDisplay.getPresentUIDs()); // Only bother calculating the whitelist for private displays if (activityDisplay.isPrivate()) { mDisplayAccessUIDs.append( activityDisplay.mDisplayId, activityDisplay.getPresentUIDs()); } } // Store updated lists in DisplayManager. Callers from outside of AM should get them there. mDisplayManagerInternal.setDisplayAccessUIDs(mDisplayAccessUIDs); Loading
services/core/java/com/android/server/am/TaskRecord.java +4 −0 Original line number Diff line number Diff line Loading @@ -1236,6 +1236,10 @@ final class TaskRecord extends ConfigurationContainer implements TaskWindowConta mWindowContainerController.positionChildAt(appController, index); } r.onOverrideConfigurationSent(); // Make sure the list of display UID whitelists is updated // now that this record is in a new task. mService.mStackSupervisor.updateUIDsPresentOnDisplay(); } /** Loading