Renamed some fields in TaskRecord (52/n)
In preparation for unifying TaskRecord and Task class.
Also consolidated some TaskRecord ctors.
Bug: 80414790
Test: Existing tests pass
Change-Id: Ibb24ca2ddf02c8135153774ea7fd6b1ba86758fc
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index e54daf2..976fd52 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -90,7 +90,6 @@
import static android.view.WindowManager.TRANSIT_TASK_CLOSE;
import static com.android.server.am.ActivityRecordProto.APP_WINDOW_TOKEN;
-import static com.android.server.am.ActivityRecordProto.CONFIGURATION_CONTAINER;
import static com.android.server.am.ActivityRecordProto.FRONT_OF_TASK;
import static com.android.server.am.ActivityRecordProto.IDENTIFIER;
import static com.android.server.am.ActivityRecordProto.PROC_ID;
@@ -145,9 +144,6 @@
import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_FREE_RESIZE;
import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_NONE;
import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_WINDOWING_MODE_RESIZE;
-import static com.android.server.wm.IdentifierProto.HASH_CODE;
-import static com.android.server.wm.IdentifierProto.TITLE;
-import static com.android.server.wm.IdentifierProto.USER_ID;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ADD_REMOVE;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ORIENTATION;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_STARTING_WINDOW;
@@ -1578,7 +1574,7 @@
final TaskRecord task = getTaskRecord();
EventLog.writeEvent(EventLogTags.AM_FINISH_ACTIVITY,
mUserId, System.identityHashCode(this),
- task.taskId, shortComponentName, reason);
+ task.mTaskId, shortComponentName, reason);
final ArrayList<ActivityRecord> activities = task.mActivities;
final int index = activities.indexOf(this);
if (index < (activities.size() - 1)) {
@@ -1838,7 +1834,7 @@
}
EventLog.writeEvent(EventLogTags.AM_DESTROY_ACTIVITY, mUserId,
- System.identityHashCode(this), getTaskRecord().taskId, shortComponentName, reason);
+ System.identityHashCode(this), getTaskRecord().mTaskId, shortComponentName, reason);
boolean removedFromHistory = false;
@@ -1976,7 +1972,7 @@
// work.
// TODO: If the callers to removeTask() changes such that we have multiple places
// where we are destroying the task, move this back into removeTask()
- mStackSupervisor.removeTaskByIdLocked(task.taskId, false /* killProcess */,
+ mStackSupervisor.removeTaskByIdLocked(task.mTaskId, false /* killProcess */,
!REMOVE_FROM_RECENTS, reason);
}
@@ -2090,7 +2086,7 @@
final String strData = data != null ? data.toSafeString() : null;
EventLog.writeEvent(tag,
- mUserId, System.identityHashCode(this), task.taskId,
+ mUserId, System.identityHashCode(this), task.mTaskId,
shortComponentName, intent.getAction(),
intent.getType(), strData, intent.getFlags());
}
@@ -3244,7 +3240,7 @@
|| (onlyRoot && activityNdx > task.findRootIndex(true /* effectiveRoot */))) {
return INVALID_TASK_ID;
}
- return task.taskId;
+ return task.mTaskId;
}
static ActivityRecord isInStackLocked(IBinder token) {
@@ -3299,8 +3295,8 @@
Bitmap icon;
if (_taskDescription.getIconFilename() == null &&
(icon = _taskDescription.getIcon()) != null) {
- final String iconFilename = createImageFilename(createTime, task.taskId);
- final File iconFile = new File(TaskPersister.getUserImagesDir(task.userId),
+ final String iconFilename = createImageFilename(createTime, task.mTaskId);
+ final File iconFile = new File(TaskPersister.getUserImagesDir(task.mUserId),
iconFilename);
final String iconFilePath = iconFile.getAbsolutePath();
mAtmService.getRecentTasks().saveImage(icon, iconFilePath);
@@ -3359,7 +3355,7 @@
void setRequestedOrientation(int requestedOrientation) {
setOrientation(requestedOrientation, mayFreezeScreenLocked());
mAtmService.getTaskChangeNotificationController().notifyActivityRequestedOrientationChanged(
- task.taskId, requestedOrientation);
+ task.mTaskId, requestedOrientation);
}
private void setOrientation(int requestedOrientation, boolean freezeScreenIfNeeded) {
@@ -4065,7 +4061,7 @@
+ " preserveWindow=" + preserveWindow);
EventLog.writeEvent(andResume ? AM_RELAUNCH_RESUME_ACTIVITY
: AM_RELAUNCH_ACTIVITY, mUserId, System.identityHashCode(this),
- task.taskId, shortComponentName);
+ task.mTaskId, shortComponentName);
startFreezingScreenLocked(0);
@@ -4400,7 +4396,7 @@
@Override
public String toString() {
if (stringName != null) {
- return stringName + " t" + (task == null ? INVALID_TASK_ID : task.taskId) +
+ return stringName + " t" + (task == null ? INVALID_TASK_ID : task.mTaskId) +
(finishing ? " f}" : "") + (mIsExiting ? " mIsExiting=" : "") + "}";
}
StringBuilder sb = new StringBuilder(128);
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index 24f58f1..5959254 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -775,7 +775,7 @@
// multi-window mode.
final String packageName = topActivity.info.applicationInfo.packageName;
mService.getTaskChangeNotificationController().notifyActivityForcedResizable(
- topTask.taskId, FORCED_RESIZEABLE_REASON_SPLIT_SCREEN, packageName);
+ topTask.mTaskId, FORCED_RESIZEABLE_REASON_SPLIT_SCREEN, packageName);
}
mService.deferWindowLayout();
@@ -1114,7 +1114,7 @@
final ActivityRecord topRunningActivityLocked(IBinder token, int taskId) {
for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
TaskRecord task = mTaskHistory.get(taskNdx);
- if (task.taskId == taskId) {
+ if (task.mTaskId == taskId) {
continue;
}
ArrayList<ActivityRecord> activities = task.mActivities;
@@ -1150,7 +1150,7 @@
TaskRecord taskForIdLocked(int id) {
for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
final TaskRecord task = mTaskHistory.get(taskNdx);
- if (task.taskId == id) {
+ if (task.mTaskId == id) {
return task;
}
}
@@ -1345,7 +1345,7 @@
if (DEBUG_TASKS) Slog.d(TAG_TASKS, "Skipping " + task + ": voice session");
continue;
}
- if (task.userId != userId) {
+ if (task.mUserId != userId) {
// Looking for a different task.
if (DEBUG_TASKS) Slog.d(TAG_TASKS, "Skipping " + task + ": different user");
continue;
@@ -2863,7 +2863,7 @@
next.notifyAppResumed(next.stopped);
EventLog.writeEvent(EventLogTags.AM_RESUME_ACTIVITY, next.mUserId,
- System.identityHashCode(next), next.getTaskRecord().taskId,
+ System.identityHashCode(next), next.getTaskRecord().mTaskId,
next.shortComponentName);
next.sleeping = false;
@@ -2973,7 +2973,7 @@
// The task can't be shown, put non-current user tasks below current user tasks.
while (maxPosition > 0) {
final TaskRecord tmpTask = mTaskHistory.get(maxPosition - 1);
- if (!mStackSupervisor.isCurrentProfileLocked(tmpTask.userId)
+ if (!mStackSupervisor.isCurrentProfileLocked(tmpTask.mUserId)
|| tmpTask.topRunningActivityLocked() == null) {
break;
}
@@ -3026,7 +3026,7 @@
void startActivityLocked(ActivityRecord r, ActivityRecord focusedTopActivity,
boolean newTask, boolean keepCurTransition, ActivityOptions options) {
TaskRecord rTask = r.getTaskRecord();
- final int taskId = rTask.taskId;
+ final int taskId = rTask.mTaskId;
final boolean allowMoveToFront = options == null || !options.getAvoidMoveToFront();
// mLaunchTaskBehind tasks get placed at the back of the task stack.
if (!r.mLaunchTaskBehind && allowMoveToFront
@@ -4098,7 +4098,7 @@
Slog.w(TAG, "Force removing " + r + ": app died, no saved state");
EventLog.writeEvent(EventLogTags.AM_FINISH_ACTIVITY,
r.mUserId, System.identityHashCode(r),
- r.getTaskRecord().taskId, r.shortComponentName,
+ r.getTaskRecord().mTaskId, r.shortComponentName,
"proc died without state saved");
}
} else {
@@ -4223,7 +4223,7 @@
}
mRootActivityContainer.resumeFocusedStacksTopActivities();
- EventLog.writeEvent(EventLogTags.AM_TASK_TO_FRONT, tr.userId, tr.taskId);
+ EventLog.writeEvent(EventLogTags.AM_TASK_TO_FRONT, tr.mUserId, tr.mTaskId);
mService.getTaskChangeNotificationController().notifyTaskMovedToFront(tr.getTaskInfo());
} finally {
getDisplay().continueUpdateImeTarget();
@@ -4520,7 +4520,7 @@
continue;
}
if (task.effectiveUid != callingUid) {
- if (task.userId != userId && !crossUser && !profileIds.contains(task.userId)) {
+ if (task.mUserId != userId && !crossUser && !profileIds.contains(task.mUserId)) {
// Skip if the caller does not have cross user permission or cannot access
// the task's profile
continue;
@@ -4545,7 +4545,7 @@
// For the focused stack top task, update the last stack active time so that it can
// be used to determine the order of the tasks (it may not be set for newly created
// tasks)
- task.lastActiveTime = SystemClock.elapsedRealtime();
+ task.touchActiveTime();
topTask = false;
}
tasksOut.add(task);
@@ -4654,7 +4654,7 @@
if (needSep) {
pw.println("");
}
- pw.println(prefix + "Task id #" + task.taskId);
+ pw.println(prefix + "Task id #" + task.mTaskId);
pw.println(prefix + "mBounds=" + task.getRequestedOverrideBounds());
pw.println(prefix + "mMinWidth=" + task.mMinWidth);
pw.println(prefix + "mMinHeight=" + task.mMinHeight);
@@ -4732,7 +4732,7 @@
final boolean removed = mTaskHistory.remove(task);
if (removed) {
- EventLog.writeEvent(EventLogTags.AM_REMOVE_TASK, task.taskId, getStackId());
+ EventLog.writeEvent(EventLogTags.AM_REMOVE_TASK, task.mTaskId, getStackId());
}
removeActivitiesFromLRUList(task);
@@ -4884,7 +4884,7 @@
mStackSupervisor.scheduleUpdatePictureInPictureModeIfNeeded(task, prevStack);
} else if (task.voiceSession != null) {
try {
- task.voiceSession.taskStarted(task.intent, task.taskId);
+ task.voiceSession.taskStarted(task.intent, task.mTaskId);
} catch (RemoteException e) {
}
}
diff --git a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
index 3dff51d..f1284d81 100644
--- a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
@@ -821,7 +821,7 @@
+ " with results=" + results + " newIntents=" + newIntents
+ " andResume=" + andResume);
EventLog.writeEvent(EventLogTags.AM_RESTART_ACTIVITY, r.mUserId,
- System.identityHashCode(r), task.taskId, r.shortComponentName);
+ System.identityHashCode(r), task.mTaskId, r.shortComponentName);
if (r.isActivityTypeHome()) {
// Home process is the root process of the task.
updateHomeProcess(task.mActivities.get(0).app);
@@ -1765,7 +1765,7 @@
moveTasksToFullscreenStackLocked(stack, !ON_TOP);
} else {
for (int i = tasks.size() - 1; i >= 0; i--) {
- removeTaskByIdLocked(tasks.get(i).taskId, true /* killProcess */,
+ removeTaskByIdLocked(tasks.get(i).mTaskId, true /* killProcess */,
REMOVE_FROM_RECENTS, "remove-stack");
}
}
@@ -1817,7 +1817,7 @@
// Find any running services associated with this app and stop if needed.
final Message msg = PooledLambda.obtainMessage(ActivityManagerInternal::cleanUpServices,
- mService.mAmInternal, tr.userId, component, new Intent(tr.getBaseIntent()));
+ mService.mAmInternal, tr.mUserId, component, new Intent(tr.getBaseIntent()));
mService.mH.sendMessage(msg);
if (!killProcess) {
@@ -1834,7 +1834,7 @@
SparseArray<WindowProcessController> uids = pmap.valueAt(i);
for (int j = 0; j < uids.size(); j++) {
WindowProcessController proc = uids.valueAt(j);
- if (proc.mUserId != tr.userId) {
+ if (proc.mUserId != tr.mUserId) {
// Don't kill process for a different user.
continue;
}
@@ -1916,7 +1916,7 @@
if (wasTrimmed) {
// Task was trimmed from the recent tasks list -- remove the active task record as well
// since the user won't really be able to go back to it
- removeTaskByIdLocked(task.taskId, killProcess, false /* removeFromRecents */,
+ removeTaskByIdLocked(task.mTaskId, killProcess, false /* removeFromRecents */,
"recent-task-trimmed");
}
task.removedFromRecents();
@@ -2477,7 +2477,7 @@
return;
}
mService.getTaskChangeNotificationController().notifyActivityForcedResizable(
- task.taskId, reason, topActivity.info.applicationInfo.packageName);
+ task.mTaskId, reason, topActivity.info.applicationInfo.packageName);
}
void activityRelaunchedLocked(IBinder token) {
@@ -2699,7 +2699,7 @@
* @param task The task to put into resizing mode
*/
void setResizingDuringAnimation(TaskRecord task) {
- mResizingTasksDuringAnimation.add(task.taskId);
+ mResizingTasksDuringAnimation.add(task.mTaskId);
task.setTaskDockedResizing(true);
}
@@ -2761,7 +2761,7 @@
// If the user must confirm credentials (e.g. when first launching a work app and the
// Work Challenge is present) let startActivityInPackage handle the intercepting.
- if (!mService.mAmInternal.shouldConfirmCredentials(task.userId)
+ if (!mService.mAmInternal.shouldConfirmCredentials(task.mUserId)
&& task.getRootActivity() != null) {
final ActivityRecord targetActivity = task.getTopActivity();
@@ -2770,7 +2770,7 @@
mActivityMetricsLogger.notifyActivityLaunching(task.intent);
try {
mService.moveTaskToFrontLocked(null /* appThread */, null /* callingPackage */,
- task.taskId, 0, options, true /* fromRecents */);
+ task.mTaskId, 0, options, true /* fromRecents */);
// Apply options to prevent pendingOptions be taken by client to make sure
// the override pending app transition will be applied immediately.
targetActivity.applyOptionsLocked();
@@ -2787,7 +2787,7 @@
callingPackage = task.mCallingPackage;
intent = task.intent;
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
- userId = task.userId;
+ userId = task.mUserId;
return mService.getActivityStartController().startActivityInPackage(
task.mCallingUid, callingPid, callingUid, callingPackage, intent, null, null,
null, 0, 0, options, userId, task, "startActivityFromRecents",
diff --git a/services/core/java/com/android/server/wm/ActivityStartInterceptor.java b/services/core/java/com/android/server/wm/ActivityStartInterceptor.java
index cc69b5a..effd154a 100644
--- a/services/core/java/com/android/server/wm/ActivityStartInterceptor.java
+++ b/services/core/java/com/android/server/wm/ActivityStartInterceptor.java
@@ -274,7 +274,7 @@
// ConfirmCredentials intent and unassign it, as otherwise the task will move to
// front even if ConfirmCredentials is cancelled.
if (mInTask != null) {
- mIntent.putExtra(EXTRA_TASK_ID, mInTask.taskId);
+ mIntent.putExtra(EXTRA_TASK_ID, mInTask.mTaskId);
mInTask = null;
}
if (mActivityOptions == null) {
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index 38e5e3e..9397893 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -1557,7 +1557,7 @@
);
if (newTask) {
EventLog.writeEvent(EventLogTags.AM_CREATE_TASK, mStartActivity.mUserId,
- mStartActivity.getTaskRecord().taskId);
+ mStartActivity.getTaskRecord().mTaskId);
}
mStartActivity.logStartActivity(
EventLogTags.AM_CREATE_ACTIVITY, mStartActivity.getTaskRecord());
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 299ab8a..750fc68 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -1618,7 +1618,7 @@
// because we don't support returning them across task boundaries. Also, to
// keep backwards compatibility we remove the task from recents when finishing
// task with root activity.
- res = mStackSupervisor.removeTaskByIdLocked(tr.taskId, false /* killProcess */,
+ res = mStackSupervisor.removeTaskByIdLocked(tr.mTaskId, false /* killProcess */,
finishWithRootActivity, "finish-activity");
if (!res) {
Slog.i(TAG, "Removing task failed to finish activity");
@@ -2233,7 +2233,7 @@
final TaskRecord tr = mRootActivityContainer.anyTaskForId(id,
MATCH_TASK_IN_STACKS_OR_RECENT_TASKS);
if (tr != null) {
- return tr.lastTaskDescription;
+ return tr.mTaskDescription;
}
}
return null;
@@ -3032,7 +3032,7 @@
}
if (structure != null) {
// Pre-fill the task/activity component for all assist data receivers
- structure.setTaskId(pae.activity.getTaskRecord().taskId);
+ structure.setTaskId(pae.activity.getTaskRecord().mTaskId);
structure.setActivityComponent(pae.activity.mActivityComponent);
structure.setHomeActivity(pae.isHome);
}
@@ -3059,7 +3059,7 @@
// Caller wants result sent back to them.
sendBundle = new Bundle();
sendBundle.putInt(ActivityTaskManagerInternal.ASSIST_TASK_ID,
- pae.activity.getTaskRecord().taskId);
+ pae.activity.getTaskRecord().mTaskId);
sendBundle.putBinder(ActivityTaskManagerInternal.ASSIST_ACTIVITY_ID,
pae.activity.assistToken);
sendBundle.putBundle(ASSIST_KEY_DATA, pae.extras);
@@ -3155,11 +3155,11 @@
stack.removeTask(task, "addAppTask", REMOVE_TASK_MODE_DESTROYING);
return INVALID_TASK_ID;
}
- task.lastTaskDescription.copyFrom(description);
+ task.mTaskDescription.copyFrom(description);
// TODO: Send the thumbnail to WM to store it.
- return task.taskId;
+ return task.mTaskId;
}
} finally {
Binder.restoreCallingIdentity(callingIdent);
@@ -4967,8 +4967,8 @@
if (lastTask != task) {
lastTask = task;
pw.print("TASK "); pw.print(lastTask.affinity);
- pw.print(" id="); pw.print(lastTask.taskId);
- pw.print(" userId="); pw.println(lastTask.userId);
+ pw.print(" id="); pw.print(lastTask.mTaskId);
+ pw.print(" userId="); pw.println(lastTask.mUserId);
if (dumpAll) {
lastTask.dump(pw, " ");
}
diff --git a/services/core/java/com/android/server/wm/LaunchParamsPersister.java b/services/core/java/com/android/server/wm/LaunchParamsPersister.java
index d364a37..013607e 100644
--- a/services/core/java/com/android/server/wm/LaunchParamsPersister.java
+++ b/services/core/java/com/android/server/wm/LaunchParamsPersister.java
@@ -198,7 +198,7 @@
void saveTask(TaskRecord task) {
final ComponentName name = task.realActivity;
- final int userId = task.userId;
+ final int userId = task.mUserId;
PersistableLaunchParams params;
ArrayMap<ComponentName, PersistableLaunchParams> map = mMap.get(userId);
if (map == null) {
@@ -247,7 +247,7 @@
void getLaunchParams(TaskRecord task, ActivityRecord activity, LaunchParams outParams) {
final ComponentName name = task != null ? task.realActivity : activity.mActivityComponent;
- final int userId = task != null ? task.userId : activity.mUserId;
+ final int userId = task != null ? task.mUserId : activity.mUserId;
outParams.reset();
Map<ComponentName, PersistableLaunchParams> map = mMap.get(userId);
diff --git a/services/core/java/com/android/server/wm/LockTaskController.java b/services/core/java/com/android/server/wm/LockTaskController.java
index b30da5e..dc45686 100644
--- a/services/core/java/com/android/server/wm/LockTaskController.java
+++ b/services/core/java/com/android/server/wm/LockTaskController.java
@@ -317,12 +317,12 @@
}
// Allow recents activity if enabled by policy
- if (task.isActivityTypeRecents() && isRecentsAllowed(task.userId)) {
+ if (task.isActivityTypeRecents() && isRecentsAllowed(task.mUserId)) {
return false;
}
// Allow emergency calling when the device is protected by a locked keyguard
- if (isKeyguardAllowed(task.userId) && isEmergencyCallTask(task)) {
+ if (isKeyguardAllowed(task.mUserId) && isEmergencyCallTask(task)) {
return false;
}
@@ -474,7 +474,7 @@
if (mLockTaskModeTasks.isEmpty()) {
if (DEBUG_LOCKTASK) Slog.d(TAG_LOCKTASK, "removeLockedTask: task=" + task +
" last task, reverting locktask mode. Callers=" + Debug.getCallers(3));
- mHandler.post(() -> performStopLockTask(task.userId));
+ mHandler.post(() -> performStopLockTask(task.mUserId));
}
}
@@ -537,7 +537,7 @@
StatusBarManagerInternal statusBarManager = LocalServices.getService(
StatusBarManagerInternal.class);
if (statusBarManager != null) {
- statusBarManager.showScreenPinningRequest(task.taskId);
+ statusBarManager.showScreenPinningRequest(task.mTaskId);
}
return;
}
@@ -570,11 +570,11 @@
final Intent taskIntent = task.intent;
if (mLockTaskModeTasks.isEmpty() && taskIntent != null) {
- mSupervisor.mRecentTasks.onLockTaskModeStateChanged(lockTaskModeState, task.userId);
+ mSupervisor.mRecentTasks.onLockTaskModeStateChanged(lockTaskModeState, task.mUserId);
// Start lock task on the handler thread
mHandler.post(() -> performStartLockTask(
taskIntent.getComponent().getPackageName(),
- task.userId,
+ task.mUserId,
lockTaskModeState));
}
if (DEBUG_LOCKTASK) Slog.w(TAG_LOCKTASK, "setLockTaskMode: Locking to " + task +
@@ -640,7 +640,7 @@
|| lockedTask.mLockTaskAuth == LOCK_TASK_AUTH_WHITELISTED;
if (mLockTaskModeState != LOCK_TASK_MODE_LOCKED
- || lockedTask.userId != userId
+ || lockedTask.mUserId != userId
|| !wasWhitelisted || isWhitelisted) {
continue;
}
@@ -704,7 +704,7 @@
}
mLockTaskFeatures.put(userId, flags);
- if (!mLockTaskModeTasks.isEmpty() && userId == mLockTaskModeTasks.get(0).userId) {
+ if (!mLockTaskModeTasks.isEmpty() && userId == mLockTaskModeTasks.get(0).mUserId) {
mHandler.post(() -> {
if (mLockTaskModeState == LOCK_TASK_MODE_LOCKED) {
setStatusBarState(mLockTaskModeState, userId);
diff --git a/services/core/java/com/android/server/wm/RecentTasks.java b/services/core/java/com/android/server/wm/RecentTasks.java
index fb6b5da..8407e06 100644
--- a/services/core/java/com/android/server/wm/RecentTasks.java
+++ b/services/core/java/com/android/server/wm/RecentTasks.java
@@ -120,7 +120,7 @@
// Comparator to sort by taskId
private static final Comparator<TaskRecord> TASK_ID_COMPARATOR =
- (lhs, rhs) -> rhs.taskId - lhs.taskId;
+ (lhs, rhs) -> rhs.mTaskId - lhs.mTaskId;
// Placeholder variables to keep track of activities/apps that are no longer avialble while
// iterating through the recents list
@@ -458,8 +458,8 @@
// Check if any tasks are added before recents is loaded
final SparseBooleanArray preaddedTasks = new SparseBooleanArray();
for (final TaskRecord task : mTasks) {
- if (task.userId == userId && shouldPersistTaskLocked(task)) {
- preaddedTasks.put(task.taskId, true);
+ if (task.mUserId == userId && shouldPersistTaskLocked(task)) {
+ preaddedTasks.put(task.mTaskId, true);
}
}
@@ -527,12 +527,12 @@
if (shouldPersistTaskLocked(task)) {
// Set of persisted taskIds for task.userId should not be null here
// TODO Investigate why it can happen. For now initialize with an empty set
- if (mPersistedTaskIds.get(task.userId) == null) {
- Slog.wtf(TAG, "No task ids found for userId " + task.userId + ". task=" + task
+ if (mPersistedTaskIds.get(task.mUserId) == null) {
+ Slog.wtf(TAG, "No task ids found for userId " + task.mUserId + ". task=" + task
+ " mPersistedTaskIds=" + mPersistedTaskIds);
- mPersistedTaskIds.put(task.userId, new SparseBooleanArray());
+ mPersistedTaskIds.put(task.mUserId, new SparseBooleanArray());
}
- mPersistedTaskIds.get(task.userId).put(task.taskId, true);
+ mPersistedTaskIds.get(task.mUserId).put(task.mTaskId, true);
}
}
}
@@ -608,7 +608,7 @@
for (int i = mTasks.size() - 1; i >= 0; --i) {
TaskRecord tr = mTasks.get(i);
- if (tr.userId == userId) {
+ if (tr.mUserId == userId) {
if(DEBUG_TASKS) Slog.i(TAG_TASKS,
"remove RecentTask " + tr + " when finishing user" + userId);
remove(tr);
@@ -622,11 +622,11 @@
final TaskRecord tr = mTasks.get(i);
if (tr.realActivity != null
&& packageNames.contains(tr.realActivity.getPackageName())
- && tr.userId == userId
+ && tr.mUserId == userId
&& tr.realActivitySuspended != suspended) {
tr.realActivitySuspended = suspended;
if (suspended) {
- mSupervisor.removeTaskByIdLocked(tr.taskId, false,
+ mSupervisor.removeTaskByIdLocked(tr.mTaskId, false,
REMOVE_FROM_RECENTS, "suspended-package");
}
notifyTaskPersisterLocked(tr, false);
@@ -640,7 +640,7 @@
}
for (int i = mTasks.size() - 1; i >= 0; --i) {
final TaskRecord tr = mTasks.get(i);
- if (tr.userId == userId && !mService.getLockTaskController().isTaskWhitelisted(tr)) {
+ if (tr.mUserId == userId && !mService.getLockTaskController().isTaskWhitelisted(tr)) {
remove(tr);
}
}
@@ -651,10 +651,10 @@
final TaskRecord tr = mTasks.get(i);
final String taskPackageName =
tr.getBaseIntent().getComponent().getPackageName();
- if (tr.userId != userId) continue;
+ if (tr.mUserId != userId) continue;
if (!taskPackageName.equals(packageName)) continue;
- mSupervisor.removeTaskByIdLocked(tr.taskId, true, REMOVE_FROM_RECENTS,
+ mSupervisor.removeTaskByIdLocked(tr.mTaskId, true, REMOVE_FROM_RECENTS,
"remove-package-task");
}
}
@@ -663,7 +663,7 @@
Set<Integer> profileIds = getProfileIds(userId);
for (int i = mTasks.size() - 1; i >= 0; --i) {
final TaskRecord tr = mTasks.get(i);
- if (!profileIds.contains(tr.userId)) continue;
+ if (!profileIds.contains(tr.mUserId)) continue;
if (isVisibleRecentTask(tr)) {
mTasks.remove(i);
notifyTaskRemoved(tr, true /* wasTrimmed */, true /* killProcess */);
@@ -675,7 +675,7 @@
int userId) {
for (int i = mTasks.size() - 1; i >= 0; --i) {
final TaskRecord tr = mTasks.get(i);
- if (userId != UserHandle.USER_ALL && tr.userId != userId) {
+ if (userId != UserHandle.USER_ALL && tr.mUserId != userId) {
continue;
}
@@ -683,7 +683,7 @@
final boolean sameComponent = cn != null && cn.getPackageName().equals(packageName)
&& (filterByClasses == null || filterByClasses.contains(cn.getClassName()));
if (sameComponent) {
- mSupervisor.removeTaskByIdLocked(tr.taskId, false,
+ mSupervisor.removeTaskByIdLocked(tr.mTaskId, false,
REMOVE_FROM_RECENTS, "disabled-package");
}
}
@@ -709,7 +709,7 @@
final IPackageManager pm = AppGlobals.getPackageManager();
for (int i = recentsCount - 1; i >= 0; i--) {
final TaskRecord task = mTasks.get(i);
- if (userId != UserHandle.USER_ALL && task.userId != userId) {
+ if (userId != UserHandle.USER_ALL && task.mUserId != userId) {
// Only look at tasks for the user ID of interest.
continue;
}
@@ -826,7 +826,7 @@
if (intent == null || !callingPackage.equals(intent.getComponent().getPackageName())) {
continue;
}
- AppTaskImpl taskImpl = new AppTaskImpl(mService, tr.taskId, callingUid);
+ AppTaskImpl taskImpl = new AppTaskImpl(mService, tr.mTaskId, callingUid);
list.add(taskImpl.asBinder());
}
return list;
@@ -908,7 +908,7 @@
}
// Only add calling user or related users recent tasks
- if (!includedUsers.contains(Integer.valueOf(tr.userId))) {
+ if (!includedUsers.contains(Integer.valueOf(tr.mUserId))) {
if (DEBUG_RECENTS) Slog.d(TAG_RECENTS, "Skipping, not user: " + tr);
continue;
}
@@ -972,7 +972,7 @@
if ((task.isPersistable || task.inRecents)
&& (stack == null || !stack.isHomeOrRecentsStack())) {
if (TaskPersister.DEBUG) Slog.d(TAG, "adding to persistentTaskIds task=" + task);
- persistentTaskIds.add(task.taskId);
+ persistentTaskIds.add(task.mTaskId);
} else {
if (TaskPersister.DEBUG) Slog.d(TAG, "omitting from persistentTaskIds task="
+ task);
@@ -997,7 +997,7 @@
if (isVisibleRecentTask(tr)) {
numVisibleTasks++;
if (isInVisibleRange(tr, i, numVisibleTasks, false /* skipExcludedCheck */)) {
- res.put(tr.taskId, true);
+ res.put(tr.mTaskId, true);
}
}
}
@@ -1011,7 +1011,7 @@
final int recentsCount = mTasks.size();
for (int i = 0; i < recentsCount; i++) {
TaskRecord tr = mTasks.get(i);
- if (tr.taskId == id) {
+ if (tr.mTaskId == id) {
return tr;
}
}
@@ -1024,7 +1024,7 @@
void add(TaskRecord task) {
if (DEBUG_RECENTS_TRIM_TASKS) Slog.d(TAG, "add: task=" + task);
- final boolean isAffiliated = task.mAffiliatedTaskId != task.taskId
+ final boolean isAffiliated = task.mAffiliatedTaskId != task.mTaskId
|| task.mNextAffiliateTaskId != INVALID_TASK_ID
|| task.mPrevAffiliateTaskId != INVALID_TASK_ID;
@@ -1138,7 +1138,7 @@
if (needAffiliationFix) {
if (DEBUG_RECENTS) Slog.d(TAG_RECENTS, "addRecent: regrouping affiliations");
- cleanupLocked(task.userId);
+ cleanupLocked(task.mUserId);
}
// Trim the set of tasks to the active set
@@ -1248,13 +1248,13 @@
if (DEBUG_RECENTS_TRIM_TASKS) Slog.d(TAG, "isActiveRecentTask: task=" + task
+ " globalMax=" + mGlobalMaxNumTasks);
- if (quietProfileUserIds.get(task.userId)) {
+ if (quietProfileUserIds.get(task.mUserId)) {
// Quiet profile user's tasks are never active
if (DEBUG_RECENTS_TRIM_TASKS) Slog.d(TAG, "\tisQuietProfileTask=true");
return false;
}
- if (task.mAffiliatedTaskId != INVALID_TASK_ID && task.mAffiliatedTaskId != task.taskId) {
+ if (task.mAffiliatedTaskId != INVALID_TASK_ID && task.mAffiliatedTaskId != task.mTaskId) {
// Keep the task active if its affiliated task is also active
final TaskRecord affiliatedTask = getTask(task.mAffiliatedTaskId);
if (affiliatedTask != null) {
@@ -1430,7 +1430,7 @@
final TaskRecord tr = mTasks.get(i);
if (task != tr) {
if (!hasCompatibleActivityTypeAndWindowingMode(task, tr)
- || task.userId != tr.userId) {
+ || task.mUserId != tr.mUserId) {
continue;
}
final Intent trIntent = tr.intent;
@@ -1485,7 +1485,7 @@
final int affiliateId = startTask.mAffiliatedTaskId;
// Quick identification of isolated tasks. I.e. those not launched behind.
- if (startTask.taskId == affiliateId && startTask.mPrevAffiliate == null &&
+ if (startTask.mTaskId == affiliateId && startTask.mPrevAffiliate == null &&
startTask.mNextAffiliate == null) {
// There is still a slim chance that there are other tasks that point to this task
// and that the chain is so messed up that this task no longer points to them but
@@ -1581,7 +1581,7 @@
} else {
// Verify middle of the chain's next points back to the one before.
if (cur.mNextAffiliate != prev
- || cur.mNextAffiliateTaskId != prev.taskId) {
+ || cur.mNextAffiliateTaskId != prev.mTaskId) {
Slog.wtf(TAG, "Bad chain @" + endIndex
+ ": middle task " + cur + " @" + endIndex
+ " has bad next affiliate "
diff --git a/services/core/java/com/android/server/wm/RecentsAnimation.java b/services/core/java/com/android/server/wm/RecentsAnimation.java
index 0075c15..062cdc5 100644
--- a/services/core/java/com/android/server/wm/RecentsAnimation.java
+++ b/services/core/java/com/android/server/wm/RecentsAnimation.java
@@ -492,7 +492,7 @@
for (int i = targetStack.getChildCount() - 1; i >= 0; i--) {
final TaskRecord task = targetStack.getChildAt(i);
- if (task.userId == mUserId
+ if (task.mUserId == mUserId
&& task.getBaseIntent().getComponent().equals(mTargetIntent.getComponent())) {
return task.getTopActivity();
}
diff --git a/services/core/java/com/android/server/wm/RootActivityContainer.java b/services/core/java/com/android/server/wm/RootActivityContainer.java
index 8a47c5a..d523be8 100644
--- a/services/core/java/com/android/server/wm/RootActivityContainer.java
+++ b/services/core/java/com/android/server/wm/RootActivityContainer.java
@@ -1103,7 +1103,7 @@
}
}
}
- return finishedTask != null ? finishedTask.taskId : INVALID_TASK_ID;
+ return finishedTask != null ? finishedTask.mTaskId : INVALID_TASK_ID;
}
boolean resumeFocusedStacksTopActivities() {
@@ -1260,14 +1260,14 @@
int[] taskUserIds = new int[numTasks];
for (int i = 0; i < numTasks; ++i) {
final TaskRecord task = tasks.get(i);
- taskIds[i] = task.taskId;
+ taskIds[i] = task.mTaskId;
taskNames[i] = task.origActivity != null ? task.origActivity.flattenToString()
: task.realActivity != null ? task.realActivity.flattenToString()
: task.getTopActivity() != null ? task.getTopActivity().packageName
: "unknown";
taskBounds[i] = new Rect();
task.getWindowContainerBounds(taskBounds[i]);
- taskUserIds[i] = task.userId;
+ taskUserIds[i] = task.mUserId;
}
info.taskIds = taskIds;
info.taskNames = taskNames;
@@ -2103,7 +2103,7 @@
// picker for personal files, opened by a work app, should still get locked.
if (taskTopActivityIsUser(task, userId)) {
mService.getTaskChangeNotificationController().notifyTaskProfileLocked(
- task.taskId, userId);
+ task.mTaskId, userId);
}
}
}
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 2ad9102..42fb331 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -67,7 +67,9 @@
// TODO: Track parent marks like this in WindowContainer.
TaskStack mStack;
+ /* Unique identifier for this task. */
final int mTaskId;
+ /* User for which this task was created. */
final int mUserId;
private boolean mDeferRemoval = false;
@@ -101,6 +103,8 @@
private boolean mDragResizing;
private int mDragResizeMode;
+ // This represents the last resolved activity values for this task
+ // NOTE: This value needs to be persisted with each task
private TaskDescription mTaskDescription;
// If set to true, the task will report that it is not in the floating
diff --git a/services/core/java/com/android/server/wm/TaskChangeNotificationController.java b/services/core/java/com/android/server/wm/TaskChangeNotificationController.java
index 5e8831d..4f6e7bf 100644
--- a/services/core/java/com/android/server/wm/TaskChangeNotificationController.java
+++ b/services/core/java/com/android/server/wm/TaskChangeNotificationController.java
@@ -342,7 +342,7 @@
void notifyActivityPinned(ActivityRecord r) {
mHandler.removeMessages(NOTIFY_ACTIVITY_PINNED_LISTENERS_MSG);
final Message msg = mHandler.obtainMessage(NOTIFY_ACTIVITY_PINNED_LISTENERS_MSG,
- r.getTaskRecord().taskId, r.getStackId(), r.packageName);
+ r.getTaskRecord().mTaskId, r.getStackId(), r.packageName);
msg.sendingUid = r.mUserId;
forAllLocalListeners(mNotifyActivityPinned, msg);
msg.sendToTarget();
diff --git a/services/core/java/com/android/server/wm/TaskPersister.java b/services/core/java/com/android/server/wm/TaskPersister.java
index 06bdcc0..f9a75d3 100644
--- a/services/core/java/com/android/server/wm/TaskPersister.java
+++ b/services/core/java/com/android/server/wm/TaskPersister.java
@@ -122,7 +122,7 @@
mPersisterQueue.removeItems(
item -> {
File file = new File(item.mFilePath);
- return file.getName().startsWith(Integer.toString(task.taskId));
+ return file.getName().startsWith(Integer.toString(task.mTaskId));
},
ImageWriteQueueItem.class);
}
@@ -262,7 +262,7 @@
}
for (int taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) {
final TaskRecord task = tasks.get(taskNdx);
- if (task.taskId == taskId) {
+ if (task.mTaskId == taskId) {
return task;
}
}
@@ -329,14 +329,14 @@
// read the same thing again.
// mWriteQueue.add(new TaskWriteQueueItem(task));
- final int taskId = task.taskId;
+ final int taskId = task.mTaskId;
if (mService.mRootActivityContainer.anyTaskForId(taskId,
MATCH_TASK_IN_STACKS_OR_RECENT_TASKS) != null) {
// Should not happen.
Slog.wtf(TAG, "Existing task with taskId " + taskId + "found");
- } else if (userId != task.userId) {
+ } else if (userId != task.mUserId) {
// Should not happen.
- Slog.wtf(TAG, "Task with userId " + task.userId + " found in "
+ Slog.wtf(TAG, "Task with userId " + task.mUserId + " found in "
+ userTasksDir.getAbsolutePath());
} else {
// Looks fine.
@@ -560,14 +560,14 @@
FileOutputStream file = null;
AtomicFile atomicFile = null;
try {
- File userTasksDir = getUserTasksDir(task.userId);
+ File userTasksDir = getUserTasksDir(task.mUserId);
if (!userTasksDir.isDirectory() && !userTasksDir.mkdirs()) {
- Slog.e(TAG, "Failure creating tasks directory for user " + task.userId
+ Slog.e(TAG, "Failure creating tasks directory for user " + task.mUserId
+ ": " + userTasksDir + " Dropping persistence for task " + task);
return;
}
atomicFile = new AtomicFile(new File(userTasksDir,
- String.valueOf(task.taskId) + TASK_FILENAME_SUFFIX));
+ String.valueOf(task.mTaskId) + TASK_FILENAME_SUFFIX));
file = atomicFile.startWrite();
file.write(stringWriter.toString().getBytes());
file.write('\n');
diff --git a/services/core/java/com/android/server/wm/TaskRecord.java b/services/core/java/com/android/server/wm/TaskRecord.java
index 8b2ef7f..75333c7 100644
--- a/services/core/java/com/android/server/wm/TaskRecord.java
+++ b/services/core/java/com/android/server/wm/TaskRecord.java
@@ -208,7 +208,7 @@
*/
private static TaskRecordFactory sTaskRecordFactory;
- final int taskId; // Unique identifier for this task.
+ final int mTaskId; // Unique identifier for this task.
String affinity; // The affinity name for this task, or null; may change identity.
String rootAffinity; // Initial base affinity, or null; does not change from initial root.
final IVoiceInteractionSession voiceSession; // Voice interaction session driving task
@@ -234,7 +234,7 @@
boolean hasBeenVisible; // Set if any activities in the task have been visible to the user.
String stringName; // caching of toString() result.
- int userId; // user for which this task was created
+ int mUserId; // user for which this task was created
boolean mUserSetupComplete; // The user set-up is complete as of the last time the task activity
// was changed.
@@ -262,7 +262,7 @@
// This represents the last resolved activity values for this task
// NOTE: This value needs to be persisted with each task
- TaskDescription lastTaskDescription = new TaskDescription();
+ TaskDescription mTaskDescription;
/** List of all activities in the task arranged in history order */
final ArrayList<ActivityRecord> mActivities;
@@ -282,7 +282,7 @@
/** Only used for persistable tasks, otherwise 0. The last time this task was moved. Used for
* determining the order when restoring. Sign indicates whether last task movement was to front
* (positive) or back (negative). Absolute value indicates time. */
- long mLastTimeMoved = System.currentTimeMillis();
+ long mLastTimeMoved;
/** If original intent did not allow relinquishing task identity, save that information */
private boolean mNeverRelinquishIdentity = true;
@@ -304,7 +304,7 @@
int mCallingUid;
String mCallingPackage;
- final ActivityTaskManagerService mService;
+ final ActivityTaskManagerService mAtmService;
private final Rect mTmpStableBounds = new Rect();
private final Rect mTmpNonDecorBounds = new Rect();
@@ -342,60 +342,25 @@
* Don't use constructor directly. Use {@link #create(ActivityTaskManagerService, int,
* ActivityInfo, Intent, TaskDescription)} instead.
*/
- TaskRecord(ActivityTaskManagerService service, int _taskId, ActivityInfo info, Intent _intent,
- IVoiceInteractionSession _voiceSession, IVoiceInteractor _voiceInteractor) {
- mService = service;
- userId = UserHandle.getUserId(info.applicationInfo.uid);
- taskId = _taskId;
- lastActiveTime = SystemClock.elapsedRealtime();
- mAffiliatedTaskId = _taskId;
- voiceSession = _voiceSession;
- voiceInteractor = _voiceInteractor;
- isAvailable = true;
- mActivities = new ArrayList<>();
- mCallingUid = info.applicationInfo.uid;
- mCallingPackage = info.packageName;
- setIntent(_intent, info);
- setMinDimensions(info);
- touchActiveTime();
- mService.getTaskChangeNotificationController().notifyTaskCreated(_taskId, realActivity);
+ TaskRecord(ActivityTaskManagerService atmService, int _taskId, ActivityInfo info,
+ Intent _intent, IVoiceInteractionSession _voiceSession,
+ IVoiceInteractor _voiceInteractor, TaskDescription _taskDescription) {
+ this(atmService, _taskId, _intent, null /*_affinityIntent*/, null /*_affinity*/,
+ null /*_rootAffinity*/, null /*_realActivity*/, null /*_origActivity*/,
+ false /*_rootWasReset*/, false /*_autoRemoveRecents*/, false /*_askedCompatMode*/,
+ UserHandle.getUserId(info.applicationInfo.uid), 0 /*_effectiveUid*/,
+ null /*_lastDescription*/, new ArrayList<>(), System.currentTimeMillis(),
+ true /*neverRelinquishIdentity*/,
+ _taskDescription != null ? _taskDescription : new TaskDescription(),
+ _taskId, INVALID_TASK_ID, INVALID_TASK_ID, 0 /*taskAffiliationColor*/,
+ info.applicationInfo.uid, info.packageName, info.resizeMode,
+ info.supportsPictureInPicture(), false /*_realActivitySuspended*/,
+ false /*userSetupComplete*/, INVALID_MIN_SIZE, INVALID_MIN_SIZE, info,
+ _voiceSession, _voiceInteractor);
}
- /**
- * Don't use constructor directly.
- * Use {@link #create(ActivityTaskManagerService, int, ActivityInfo,
- * Intent, IVoiceInteractionSession, IVoiceInteractor)} instead.
- */
- TaskRecord(ActivityTaskManagerService service, int _taskId, ActivityInfo info, Intent _intent,
- TaskDescription _taskDescription) {
- mService = service;
- userId = UserHandle.getUserId(info.applicationInfo.uid);
- taskId = _taskId;
- lastActiveTime = SystemClock.elapsedRealtime();
- mAffiliatedTaskId = _taskId;
- voiceSession = null;
- voiceInteractor = null;
- isAvailable = true;
- mActivities = new ArrayList<>();
- mCallingUid = info.applicationInfo.uid;
- mCallingPackage = info.packageName;
- setIntent(_intent, info);
- setMinDimensions(info);
-
- isPersistable = true;
- // Clamp to [1, max].
- maxRecents = Math.min(Math.max(info.maxRecents, 1),
- ActivityTaskManager.getMaxAppRecentsLimitStatic());
-
- lastTaskDescription = _taskDescription;
- touchActiveTime();
- mService.getTaskChangeNotificationController().notifyTaskCreated(_taskId, realActivity);
- }
-
- /**
- * Don't use constructor directly. This is only used by XML parser.
- */
- TaskRecord(ActivityTaskManagerService service, int _taskId, Intent _intent,
+ /** Don't use constructor directly. This is only used by XML parser. */
+ TaskRecord(ActivityTaskManagerService atmService, int _taskId, Intent _intent,
Intent _affinityIntent, String _affinity, String _rootAffinity,
ComponentName _realActivity, ComponentName _origActivity, boolean _rootWasReset,
boolean _autoRemoveRecents, boolean _askedCompatMode, int _userId,
@@ -404,15 +369,15 @@
TaskDescription _lastTaskDescription, int taskAffiliation, int prevTaskId,
int nextTaskId, int taskAffiliationColor, int callingUid, String callingPackage,
int resizeMode, boolean supportsPictureInPicture, boolean _realActivitySuspended,
- boolean userSetupComplete, int minWidth, int minHeight) {
- mService = service;
- taskId = _taskId;
- intent = _intent;
+ boolean userSetupComplete, int minWidth, int minHeight, ActivityInfo info,
+ IVoiceInteractionSession _voiceSession, IVoiceInteractor _voiceInteractor) {
+ mAtmService = atmService;
+ mTaskId = _taskId;
affinityIntent = _affinityIntent;
affinity = _affinity;
rootAffinity = _rootAffinity;
- voiceSession = null;
- voiceInteractor = null;
+ voiceSession = _voiceSession;
+ voiceInteractor = _voiceInteractor;
realActivity = _realActivity;
realActivitySuspended = _realActivitySuspended;
origActivity = _origActivity;
@@ -420,15 +385,15 @@
isAvailable = true;
autoRemoveRecents = _autoRemoveRecents;
askedCompatMode = _askedCompatMode;
- userId = _userId;
+ mUserId = _userId;
mUserSetupComplete = userSetupComplete;
effectiveUid = _effectiveUid;
- lastActiveTime = SystemClock.elapsedRealtime();
+ touchActiveTime();
lastDescription = _lastDescription;
mActivities = activities;
mLastTimeMoved = lastTimeMoved;
mNeverRelinquishIdentity = neverRelinquishIdentity;
- lastTaskDescription = _lastTaskDescription;
+ mTaskDescription = _lastTaskDescription;
mAffiliatedTaskId = taskAffiliation;
mAffiliatedTaskColor = taskAffiliationColor;
mPrevAffiliateTaskId = prevTaskId;
@@ -437,9 +402,15 @@
mCallingPackage = callingPackage;
mResizeMode = resizeMode;
mSupportsPictureInPicture = supportsPictureInPicture;
- mMinWidth = minWidth;
- mMinHeight = minHeight;
- mService.getTaskChangeNotificationController().notifyTaskCreated(_taskId, realActivity);
+ if (info != null) {
+ setIntent(_intent, info);
+ setMinDimensions(info);
+ } else {
+ intent = _intent;
+ mMinWidth = minWidth;
+ mMinHeight = minHeight;
+ }
+ mAtmService.getTaskChangeNotificationController().notifyTaskCreated(_taskId, realActivity);
}
Task getTask() {
@@ -458,9 +429,9 @@
if (stack == null) {
throw new IllegalArgumentException("TaskRecord: invalid stack=" + mStack);
}
- EventLog.writeEvent(WM_TASK_CREATED, taskId, stack.mStackId);
- mTask = new Task(taskId, stack, userId, mService.mWindowManager, mResizeMode,
- mSupportsPictureInPicture, lastTaskDescription, this);
+ EventLog.writeEvent(WM_TASK_CREATED, mTaskId, stack.mStackId);
+ mTask = new Task(mTaskId, stack, mUserId, mAtmService.mWindowManager, mResizeMode,
+ mSupportsPictureInPicture, mTaskDescription, this);
final int position = onTop ? POSITION_TOP : POSITION_BOTTOM;
if (!mDisplayedBounds.isEmpty()) {
@@ -487,14 +458,14 @@
final boolean isVoiceSession = voiceSession != null;
if (isVoiceSession) {
try {
- voiceSession.taskFinished(intent, taskId);
+ voiceSession.taskFinished(intent, mTaskId);
} catch (RemoteException e) {
}
}
if (autoRemoveFromRecents() || isVoiceSession) {
// Task creator asked to remove this when done, or this task was a voice
// interaction, so it should not remain on the recent tasks list.
- mService.mStackSupervisor.mRecentTasks.remove(this);
+ mAtmService.mStackSupervisor.mRecentTasks.remove(this);
}
removeWindowContainer();
@@ -502,9 +473,9 @@
@VisibleForTesting
void removeWindowContainer() {
- mService.getLockTaskController().clearLockedTask(this);
+ mAtmService.getLockTaskController().clearLockedTask(this);
if (mTask == null) {
- if (DEBUG_STACK) Slog.i(TAG_WM, "removeTask: could not find taskId=" + taskId);
+ if (DEBUG_STACK) Slog.i(TAG_WM, "removeTask: could not find taskId=" + mTaskId);
return;
}
mTask.removeIfPossible();
@@ -514,11 +485,11 @@
// default configuration the next time it launches.
setBounds(null);
}
- mService.getTaskChangeNotificationController().notifyTaskRemoved(taskId);
+ mAtmService.getTaskChangeNotificationController().notifyTaskRemoved(mTaskId);
}
- public void onSnapshotChanged(TaskSnapshot snapshot) {
- mService.getTaskChangeNotificationController().notifyTaskSnapshotChanged(taskId, snapshot);
+ void onSnapshotChanged(TaskSnapshot snapshot) {
+ mAtmService.getTaskChangeNotificationController().notifyTaskSnapshotChanged(mTaskId, snapshot);
}
void setResizeMode(int resizeMode) {
@@ -527,13 +498,13 @@
}
mResizeMode = resizeMode;
mTask.setResizeable(resizeMode);
- mService.mRootActivityContainer.ensureActivitiesVisible(null, 0, !PRESERVE_WINDOWS);
- mService.mRootActivityContainer.resumeFocusedStacksTopActivities();
+ mAtmService.mRootActivityContainer.ensureActivitiesVisible(null, 0, !PRESERVE_WINDOWS);
+ mAtmService.mRootActivityContainer.resumeFocusedStacksTopActivities();
}
void setTaskDockedResizing(boolean resizing) {
if (mTask == null) {
- Slog.w(TAG_WM, "setTaskDockedResizing: taskId " + taskId + " not found.");
+ Slog.w(TAG_WM, "setTaskDockedResizing: taskId " + mTaskId + " not found.");
return;
}
mTask.setTaskDockedResizing(resizing);
@@ -541,11 +512,11 @@
// TODO: Consolidate this with the resize() method below.
public void requestResize(Rect bounds, int resizeMode) {
- mService.resizeTask(taskId, bounds, resizeMode);
+ mAtmService.resizeTask(mTaskId, bounds, resizeMode);
}
boolean resize(Rect bounds, int resizeMode, boolean preserveWindow, boolean deferResume) {
- mService.deferWindowLayout();
+ mAtmService.deferWindowLayout();
try {
if (!isResizeable()) {
@@ -568,7 +539,7 @@
setBounds(bounds);
if (!inFreeformWindowingMode()) {
// re-restore the task so it can have the proper stack association.
- mService.mStackSupervisor.restoreRecentTaskLocked(this, null, !ON_TOP);
+ mAtmService.mStackSupervisor.restoreRecentTaskLocked(this, null, !ON_TOP);
}
return true;
}
@@ -582,7 +553,7 @@
// This method assumes that the task is already placed in the right stack.
// we do not mess with that decision and we only do the resize!
- Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "am.resizeTask_" + taskId);
+ Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "am.resizeTask_" + mTaskId);
boolean updatedConfig = false;
mTmpConfig.setTo(getResolvedOverrideConfiguration());
@@ -606,9 +577,9 @@
// this won't cause tons of irrelevant windows being preserved because only
// activities in this task may experience a bounds change. Configs for other
// activities stay the same.
- mService.mRootActivityContainer.ensureActivitiesVisible(r, 0, preserveWindow);
+ mAtmService.mRootActivityContainer.ensureActivitiesVisible(r, 0, preserveWindow);
if (!kept) {
- mService.mRootActivityContainer.resumeFocusedStacksTopActivities();
+ mAtmService.mRootActivityContainer.resumeFocusedStacksTopActivities();
}
}
}
@@ -619,7 +590,7 @@
Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
return kept;
} finally {
- mService.continueWindowLayout();
+ mAtmService.continueWindowLayout();
}
}
@@ -687,9 +658,9 @@
boolean reparent(ActivityStack preferredStack, int position,
@ReparentMoveStackMode int moveStackMode, boolean animate, boolean deferResume,
boolean schedulePictureInPictureModeChange, String reason) {
- final ActivityStackSupervisor supervisor = mService.mStackSupervisor;
- final RootActivityContainer root = mService.mRootActivityContainer;
- final WindowManagerService windowManager = mService.mWindowManager;
+ final ActivityStackSupervisor supervisor = mAtmService.mStackSupervisor;
+ final RootActivityContainer root = mAtmService.mRootActivityContainer;
+ final WindowManagerService windowManager = mAtmService.mWindowManager;
final ActivityStack sourceStack = getStack();
final ActivityStack toStack = supervisor.getReparentTargetStack(this, preferredStack,
position == MAX_VALUE);
@@ -725,7 +696,7 @@
windowManager.setWillReplaceWindow(topActivity.appToken, animate);
}
- mService.deferWindowLayout();
+ mAtmService.deferWindowLayout();
boolean kept = true;
try {
final ActivityRecord r = topRunningActivityLocked();
@@ -764,7 +735,7 @@
// Notify the voice session if required
if (voiceSession != null) {
try {
- voiceSession.taskStarted(intent, taskId);
+ voiceSession.taskStarted(intent, mTaskId);
} catch (RemoteException e) {
}
}
@@ -776,7 +747,7 @@
wasPaused, reason);
}
if (!animate) {
- mService.mStackSupervisor.mNoAnimActivities.add(topActivity);
+ mAtmService.mStackSupervisor.mNoAnimActivities.add(topActivity);
}
// We might trigger a configuration change. Save the current task bounds for freezing.
@@ -795,7 +766,7 @@
} else if (toStackWindowingMode == WINDOWING_MODE_FREEFORM) {
Rect bounds = getLaunchBounds();
if (bounds == null) {
- mService.mStackSupervisor.getLaunchParamsController().layoutTask(this, null);
+ mAtmService.mStackSupervisor.getLaunchParamsController().layoutTask(this, null);
bounds = configBounds;
}
kept = resize(bounds, RESIZE_MODE_FORCED, !mightReplaceWindow, deferResume);
@@ -803,13 +774,13 @@
if (toStackSplitScreenPrimary && moveStackMode == REPARENT_KEEP_STACK_AT_FRONT) {
// Move recents to front so it is not behind home stack when going into docked
// mode
- mService.mStackSupervisor.moveRecentsStackToFront(reason);
+ mAtmService.mStackSupervisor.moveRecentsStackToFront(reason);
}
kept = resize(toStack.getRequestedOverrideBounds(), RESIZE_MODE_SYSTEM,
!mightReplaceWindow, deferResume);
}
} finally {
- mService.continueWindowLayout();
+ mAtmService.continueWindowLayout();
}
if (mightReplaceWindow) {
@@ -846,7 +817,7 @@
void cancelWindowTransition() {
if (mTask == null) {
- Slog.w(TAG_WM, "cancelWindowTransition: taskId " + taskId + " not found.");
+ Slog.w(TAG_WM, "cancelWindowTransition: taskId " + mTaskId + " not found.");
return;
}
mTask.cancelTaskWindowTransition();
@@ -859,7 +830,7 @@
// TODO: Move this to {@link TaskWindowContainerController} once recent tasks are more
// synchronized between AM and WM.
- return mService.mWindowManager.getTaskSnapshot(taskId, userId, reducedResolution,
+ return mAtmService.mWindowManager.getTaskSnapshot(mTaskId, mUserId, reducedResolution,
restoreFromDisk);
}
@@ -938,9 +909,9 @@
// task as having a true root activity.
rootWasReset = true;
}
- userId = UserHandle.getUserId(info.applicationInfo.uid);
- mUserSetupComplete = Settings.Secure.getIntForUser(mService.mContext.getContentResolver(),
- USER_SETUP_COMPLETE, 0, userId) != 0;
+ mUserId = UserHandle.getUserId(info.applicationInfo.uid);
+ mUserSetupComplete = Settings.Secure.getIntForUser(
+ mAtmService.mContext.getContentResolver(), USER_SETUP_COMPLETE, 0, mUserId) != 0;
if ((info.flags & ActivityInfo.FLAG_AUTO_REMOVE_FROM_RECENTS) != 0) {
// If the activity itself has requested auto-remove, then just always do it.
autoRemoveRecents = true;
@@ -993,12 +964,12 @@
void setPrevAffiliate(TaskRecord prevAffiliate) {
mPrevAffiliate = prevAffiliate;
- mPrevAffiliateTaskId = prevAffiliate == null ? INVALID_TASK_ID : prevAffiliate.taskId;
+ mPrevAffiliateTaskId = prevAffiliate == null ? INVALID_TASK_ID : prevAffiliate.mTaskId;
}
void setNextAffiliate(TaskRecord nextAffiliate) {
mNextAffiliate = nextAffiliate;
- mNextAffiliateTaskId = nextAffiliate == null ? INVALID_TASK_ID : nextAffiliate.taskId;
+ mNextAffiliateTaskId = nextAffiliate == null ? INVALID_TASK_ID : nextAffiliate.mTaskId;
}
<T extends ActivityStack> T getStack() {
@@ -1061,7 +1032,7 @@
@Override
protected void onParentChanged() {
super.onParentChanged();
- mService.mRootActivityContainer.updateUIDsPresentOnDisplay();
+ mAtmService.mRootActivityContainer.updateUIDsPresentOnDisplay();
}
// Close up recents linked list.
@@ -1080,13 +1051,13 @@
closeRecentsChain();
if (inRecents) {
inRecents = false;
- mService.notifyTaskPersisterLocked(this, false);
+ mAtmService.notifyTaskPersisterLocked(this, false);
}
clearRootProcess();
- mService.mWindowManager.mTaskSnapshotController.notifyTaskRemovedFromRecents(
- taskId, userId);
+ mAtmService.mWindowManager.mTaskSnapshotController.notifyTaskRemovedFromRecents(
+ mTaskId, mUserId);
}
void setTaskToAffiliateWith(TaskRecord taskToAffiliateWith) {
@@ -1235,7 +1206,7 @@
boolean okToShowLocked() {
// NOTE: If {@link TaskRecord#topRunningActivity} return is not null then it is
// okay to show the activity when locked.
- return mService.mStackSupervisor.isCurrentProfileLocked(userId)
+ return mAtmService.mStackSupervisor.isCurrentProfileLocked(mUserId)
|| topRunningActivityLocked() != null;
}
@@ -1324,7 +1295,7 @@
updateEffectiveIntent();
if (r.isPersistable()) {
- mService.notifyTaskPersisterLocked(this, false);
+ mAtmService.notifyTaskPersisterLocked(this, false);
}
if (r.getParent() != null) {
@@ -1335,7 +1306,7 @@
// Make sure the list of display UID whitelists is updated
// now that this record is in a new task.
- mService.mRootActivityContainer.updateUIDsPresentOnDisplay();
+ mAtmService.mRootActivityContainer.updateUIDsPresentOnDisplay();
}
/**
@@ -1360,14 +1331,14 @@
numFullscreen--;
}
if (r.isPersistable()) {
- mService.notifyTaskPersisterLocked(this, false);
+ mAtmService.notifyTaskPersisterLocked(this, false);
}
if (inPinnedWindowingMode()) {
// We normally notify listeners of task stack changes on pause, however pinned stack
// activities are normally in the paused state so no notification will be sent there
// before the activity is removed. We send it here so instead.
- mService.getTaskChangeNotificationController().notifyTaskStackChanged();
+ mAtmService.getTaskChangeNotificationController().notifyTaskStackChanged();
}
if (mActivities.isEmpty()) {
@@ -1530,10 +1501,10 @@
}
final String pkg = (realActivity != null) ? realActivity.getPackageName() : null;
- final LockTaskController lockTaskController = mService.getLockTaskController();
+ final LockTaskController lockTaskController = mAtmService.getLockTaskController();
switch (r.lockTaskLaunchMode) {
case LOCK_TASK_LAUNCH_MODE_DEFAULT:
- mLockTaskAuth = lockTaskController.isPackageWhitelisted(userId, pkg)
+ mLockTaskAuth = lockTaskController.isPackageWhitelisted(mUserId, pkg)
? LOCK_TASK_AUTH_WHITELISTED : LOCK_TASK_AUTH_PINNABLE;
break;
@@ -1546,7 +1517,7 @@
break;
case LOCK_TASK_LAUNCH_MODE_IF_WHITELISTED:
- mLockTaskAuth = lockTaskController.isPackageWhitelisted(userId, pkg)
+ mLockTaskAuth = lockTaskController.isPackageWhitelisted(mUserId, pkg)
? LOCK_TASK_AUTH_LAUNCHABLE : LOCK_TASK_AUTH_PINNABLE;
break;
}
@@ -1555,7 +1526,7 @@
}
private boolean isResizeable(boolean checkSupportsPip) {
- return (mService.mForceResizableActivities || ActivityInfo.isResizeableMode(mResizeMode)
+ return (mAtmService.mForceResizableActivities || ActivityInfo.isResizeableMode(mResizeMode)
|| (checkSupportsPip && mSupportsPictureInPicture));
}
@@ -1568,8 +1539,8 @@
// A task can not be docked even if it is considered resizeable because it only supports
// picture-in-picture mode but has a non-resizeable resizeMode
return super.supportsSplitScreenWindowingMode()
- && mService.mSupportsSplitScreenMultiWindow
- && (mService.mForceResizableActivities
+ && mAtmService.mSupportsSplitScreenMultiWindow
+ && (mAtmService.mForceResizableActivities
|| (isResizeable(false /* checkSupportsPip */)
&& !ActivityInfo.isPreserveOrientationMode(mResizeMode)));
}
@@ -1582,7 +1553,7 @@
* secondary display.
*/
boolean canBeLaunchedOnDisplay(int displayId) {
- return mService.mStackSupervisor.canPlaceEntityOnDisplay(displayId,
+ return mAtmService.mStackSupervisor.canPlaceEntityOnDisplay(displayId,
-1 /* don't check PID */, -1 /* don't check UID */, null /* activityInfo */);
}
@@ -1700,15 +1671,15 @@
}
topActivity = false;
}
- lastTaskDescription = new TaskDescription(label, null, iconResource, iconFilename,
+ mTaskDescription = new TaskDescription(label, null, iconResource, iconFilename,
colorPrimary, colorBackground, statusBarColor, navigationBarColor,
statusBarContrastWhenTransparent, navigationBarContrastWhenTransparent);
if (mTask != null) {
- mTask.setTaskDescription(lastTaskDescription);
+ mTask.setTaskDescription(mTaskDescription);
}
// Update the task affiliation color if we are the parent of the group
- if (taskId == mAffiliatedTaskId) {
- mAffiliatedTaskColor = lastTaskDescription.getPrimaryColor();
+ if (mTaskId == mAffiliatedTaskId) {
+ mAffiliatedTaskColor = mTaskDescription.getPrimaryColor();
}
}
}
@@ -1767,9 +1738,9 @@
// to do this for the pinned stack as the bounds are controlled by the system.
if (!inPinnedWindowingMode() && mStack != null) {
final int defaultMinSizeDp =
- mService.mRootActivityContainer.mDefaultMinSizeOfResizeableTaskDp;
+ mAtmService.mRootActivityContainer.mDefaultMinSizeOfResizeableTaskDp;
final ActivityDisplay display =
- mService.mRootActivityContainer.getActivityDisplay(mStack.mDisplayId);
+ mAtmService.mRootActivityContainer.getActivityDisplay(mStack.mDisplayId);
final float density =
(float) display.getConfiguration().densityDpi / DisplayMetrics.DENSITY_DEFAULT;
final int defaultMinSize = (int) (defaultMinSizeDp * density);
@@ -1849,7 +1820,7 @@
final boolean wasInMultiWindowMode = inMultiWindowMode();
super.onConfigurationChanged(newParentConfig);
if (wasInMultiWindowMode != inMultiWindowMode()) {
- mService.mStackSupervisor.scheduleUpdateMultiWindowMode(this);
+ mAtmService.mStackSupervisor.scheduleUpdateMultiWindowMode(this);
}
// If the configuration supports persistent bounds (eg. Freeform), keep track of the
@@ -1890,7 +1861,7 @@
}
// Saves the new state so that we can launch the activity at the same location.
- mService.mStackSupervisor.mLaunchParamsPersister.saveTask(this);
+ mAtmService.mStackSupervisor.mLaunchParamsPersister.saveTask(this);
}
/**
@@ -2293,7 +2264,7 @@
if (mLastNonFullscreenBounds != null) {
setBounds(mLastNonFullscreenBounds);
} else {
- mService.mStackSupervisor.getLaunchParamsController().layoutTask(this, null);
+ mAtmService.mStackSupervisor.getLaunchParamsController().layoutTask(this, null);
}
} else {
setBounds(inStack.getRequestedOverrideBounds());
@@ -2354,9 +2325,9 @@
*/
void fillTaskInfo(TaskInfo info) {
getNumRunningActivities(mReuseActivitiesReport);
- info.userId = userId;
+ info.userId = mUserId;
info.stackId = getStackId();
- info.taskId = taskId;
+ info.taskId = mTaskId;
info.displayId = mStack == null ? Display.INVALID_DISPLAY : mStack.mDisplayId;
info.isRunning = getTopActivity() != null;
info.baseIntent = new Intent(getBaseIntent());
@@ -2370,7 +2341,7 @@
info.realActivity = realActivity;
info.numActivities = mReuseActivitiesReport.numActivities;
info.lastActiveTime = lastActiveTime;
- info.taskDescription = new ActivityManager.TaskDescription(lastTaskDescription);
+ info.taskDescription = new ActivityManager.TaskDescription(mTaskDescription);
info.supportsSplitScreenMultiWindow = supportsSplitScreenWindowingMode();
info.resizeMode = mResizeMode;
info.configuration.setTo(getConfiguration());
@@ -2386,7 +2357,7 @@
}
void dump(PrintWriter pw, String prefix) {
- pw.print(prefix); pw.print("userId="); pw.print(userId);
+ pw.print(prefix); pw.print("userId="); pw.print(mUserId);
pw.print(" effectiveUid="); UserHandle.formatUid(pw, effectiveUid);
pw.print(" mCallingUid="); UserHandle.formatUid(pw, mCallingUid);
pw.print(" mUserSetupComplete="); pw.print(mUserSetupComplete);
@@ -2440,7 +2411,7 @@
pw.print(" mReuseTask="); pw.print(mReuseTask);
pw.print(" mLockTaskAuth="); pw.println(lockTaskAuthToString());
}
- if (mAffiliatedTaskId != taskId || mPrevAffiliateTaskId != INVALID_TASK_ID
+ if (mAffiliatedTaskId != mTaskId || mPrevAffiliateTaskId != INVALID_TASK_ID
|| mPrevAffiliate != null || mNextAffiliateTaskId != INVALID_TASK_ID
|| mNextAffiliate != null) {
pw.print(prefix); pw.print("affiliation="); pw.print(mAffiliatedTaskId);
@@ -2487,7 +2458,7 @@
if (stringName != null) {
sb.append(stringName);
sb.append(" U=");
- sb.append(userId);
+ sb.append(mUserId);
sb.append(" StackId=");
sb.append(getStackId());
sb.append(" sz=");
@@ -2498,7 +2469,7 @@
sb.append("TaskRecord{");
sb.append(Integer.toHexString(System.identityHashCode(this)));
sb.append(" #");
- sb.append(taskId);
+ sb.append(mTaskId);
if (affinity != null) {
sb.append(" A=");
sb.append(affinity);
@@ -2523,7 +2494,7 @@
final long token = proto.start(fieldId);
super.writeToProto(proto, CONFIGURATION_CONTAINER, logLevel);
- proto.write(ID, taskId);
+ proto.write(ID, mTaskId);
for (int i = mActivities.size() - 1; i >= 0; i--) {
ActivityRecord activity = mActivities.get(i);
activity.writeToProto(proto, ACTIVITIES);
@@ -2573,7 +2544,7 @@
void saveToXml(XmlSerializer out) throws IOException, XmlPullParserException {
if (DEBUG_RECENTS) Slog.i(TAG_RECENTS, "Saving task=" + this);
- out.attribute(null, ATTR_TASKID, String.valueOf(taskId));
+ out.attribute(null, ATTR_TASKID, String.valueOf(mTaskId));
if (realActivity != null) {
out.attribute(null, ATTR_REALACTIVITY, realActivity.flattenToShortString());
}
@@ -2596,7 +2567,7 @@
out.attribute(null, ATTR_ROOTHASRESET, String.valueOf(rootWasReset));
out.attribute(null, ATTR_AUTOREMOVERECENTS, String.valueOf(autoRemoveRecents));
out.attribute(null, ATTR_ASKEDCOMPATMODE, String.valueOf(askedCompatMode));
- out.attribute(null, ATTR_USERID, String.valueOf(userId));
+ out.attribute(null, ATTR_USERID, String.valueOf(mUserId));
out.attribute(null, ATTR_USER_SETUP_COMPLETE, String.valueOf(mUserSetupComplete));
out.attribute(null, ATTR_EFFECTIVE_UID, String.valueOf(effectiveUid));
out.attribute(null, ATTR_LASTTIMEMOVED, String.valueOf(mLastTimeMoved));
@@ -2604,8 +2575,8 @@
if (lastDescription != null) {
out.attribute(null, ATTR_LASTDESCRIPTION, lastDescription.toString());
}
- if (lastTaskDescription != null) {
- lastTaskDescription.saveToXml(out);
+ if (mTaskDescription != null) {
+ mTaskDescription.saveToXml(out);
}
out.attribute(null, ATTR_TASK_AFFILIATION_COLOR, String.valueOf(mAffiliatedTaskColor));
out.attribute(null, ATTR_TASK_AFFILIATION, String.valueOf(mAffiliatedTaskId));
@@ -2692,13 +2663,14 @@
TaskRecord create(ActivityTaskManagerService service, int taskId, ActivityInfo info,
Intent intent, IVoiceInteractionSession voiceSession,
IVoiceInteractor voiceInteractor) {
- return new TaskRecord(
- service, taskId, info, intent, voiceSession, voiceInteractor);
+ return new TaskRecord(service, taskId, info, intent, voiceSession, voiceInteractor,
+ null /*taskDescription*/);
}
TaskRecord create(ActivityTaskManagerService service, int taskId, ActivityInfo info,
Intent intent, TaskDescription taskDescription) {
- return new TaskRecord(service, taskId, info, intent, taskDescription);
+ return new TaskRecord(service, taskId, info, intent, null /*voiceSession*/,
+ null /*voiceInteractor*/, taskDescription);
}
/**
@@ -2720,7 +2692,8 @@
lastTimeMoved, neverRelinquishIdentity, lastTaskDescription, taskAffiliation,
prevTaskId, nextTaskId, taskAffiliationColor, callingUid, callingPackage,
resizeMode, supportsPictureInPicture, realActivitySuspended, userSetupComplete,
- minWidth, minHeight);
+ minWidth, minHeight, null /*ActivityInfo*/, null /*_voiceSession*/,
+ null /*_voiceInteractor*/);
}
TaskRecord restoreFromXml(XmlPullParser in, ActivityStackSupervisor stackSupervisor)
diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java
index d7116d8..1c0d156 100644
--- a/services/core/java/com/android/server/wm/WindowProcessController.java
+++ b/services/core/java/com/android/server/wm/WindowProcessController.java
@@ -702,7 +702,7 @@
}
ActivityRecord hist = mActivities.get(0);
intent.putExtra(HeavyWeightSwitcherActivity.KEY_CUR_APP, hist.packageName);
- intent.putExtra(HeavyWeightSwitcherActivity.KEY_CUR_TASK, hist.getTaskRecord().taskId);
+ intent.putExtra(HeavyWeightSwitcherActivity.KEY_CUR_TASK, hist.getTaskRecord().mTaskId);
}
boolean shouldKillProcessForRemovedTask(TaskRecord tr) {
@@ -713,7 +713,7 @@
return false;
}
final TaskRecord otherTask = activity.getTaskRecord();
- if (tr.taskId != otherTask.taskId && otherTask.inRecents) {
+ if (tr.mTaskId != otherTask.mTaskId && otherTask.inRecents) {
// Don't kill process(es) that has an activity in a different task that is
// also in recents.
return false;
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java
index 69cc9b2..fff3221 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java
@@ -317,24 +317,24 @@
doAnswer(invocation -> {
display.positionChildAtTop(stack3, false);
return true;
- }).when(mSupervisor).removeTaskByIdLocked(eq(task4.taskId), anyBoolean(), anyBoolean(),
+ }).when(mSupervisor).removeTaskByIdLocked(eq(task4.mTaskId), anyBoolean(), anyBoolean(),
any());
// Removing stacks from the display while removing stacks.
doAnswer(invocation -> {
display.removeChild(stack2);
return true;
- }).when(mSupervisor).removeTaskByIdLocked(eq(task2.taskId), anyBoolean(), anyBoolean(),
+ }).when(mSupervisor).removeTaskByIdLocked(eq(task2.mTaskId), anyBoolean(), anyBoolean(),
any());
runnable.run();
- verify(mSupervisor).removeTaskByIdLocked(eq(task4.taskId), anyBoolean(), anyBoolean(),
+ verify(mSupervisor).removeTaskByIdLocked(eq(task4.mTaskId), anyBoolean(), anyBoolean(),
any());
- verify(mSupervisor).removeTaskByIdLocked(eq(task3.taskId), anyBoolean(), anyBoolean(),
+ verify(mSupervisor).removeTaskByIdLocked(eq(task3.mTaskId), anyBoolean(), anyBoolean(),
any());
- verify(mSupervisor).removeTaskByIdLocked(eq(task2.taskId), anyBoolean(), anyBoolean(),
+ verify(mSupervisor).removeTaskByIdLocked(eq(task2.mTaskId), anyBoolean(), anyBoolean(),
any());
- verify(mSupervisor).removeTaskByIdLocked(eq(task1.taskId), anyBoolean(), anyBoolean(),
+ verify(mSupervisor).removeTaskByIdLocked(eq(task1.mTaskId), anyBoolean(), anyBoolean(),
any());
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java
index 9e1df91..1eeca91 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java
@@ -127,7 +127,7 @@
mSupervisor.handleNonResizableTaskIfNeeded(task, newDisplay.getWindowingMode(),
newDisplay.mDisplayId, stack);
// The top activity is unresizable, so it should notify the activity is forced resizing.
- verify(taskChangeNotifier).notifyActivityForcedResizable(eq(task.taskId),
+ verify(taskChangeNotifier).notifyActivityForcedResizable(eq(task.mTaskId),
eq(FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY),
eq(unresizableActivity.packageName));
reset(taskChangeNotifier);
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java
index 668ad78..77fbdcf 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java
@@ -42,7 +42,6 @@
import android.os.Build;
import android.os.UserHandle;
import android.service.voice.IVoiceInteractionSession;
-import android.testing.DexmakerShareClassLoaderRule;
import android.util.Pair;
import android.view.DisplayInfo;
@@ -385,9 +384,10 @@
intent.setFlags(mFlags);
final TaskRecord task = new TaskRecord(mSupervisor.mService, mTaskId, aInfo,
- intent /*intent*/, mVoiceSession, null /*_voiceInteractor*/);
+ intent /*intent*/, mVoiceSession, null /*_voiceInteractor*/,
+ null /*taskDescription*/);
spyOn(task);
- task.userId = mUserId;
+ task.mUserId = mUserId;
if (mStack != null) {
mStack.moveToFront("test");
@@ -396,8 +396,6 @@
spyOn(task.mTask);
}
- task.touchActiveTime();
-
return task;
}
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java
index be2ee29..46435eb 100644
--- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java
@@ -422,7 +422,7 @@
@Override
void saveTask(TaskRecord task) {
- final int userId = task.userId;
+ final int userId = task.mUserId;
final ComponentName realActivity = task.realActivity;
mTmpParams.mPreferredDisplayId = task.getStack().mDisplayId;
mTmpParams.mWindowingMode = task.getWindowingMode();
@@ -436,7 +436,7 @@
@Override
void getLaunchParams(TaskRecord task, ActivityRecord activity, LaunchParams params) {
- final int userId = task != null ? task.userId : activity.mUserId;
+ final int userId = task != null ? task.mUserId : activity.mUserId;
final ComponentName name = task != null
? task.realActivity : activity.mActivityComponent;
diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
index 49d778f..7115af9 100644
--- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
@@ -115,16 +115,16 @@
ACTIVITY_TYPE_STANDARD, /* onTop */ true);
mTestTask = new TaskBuilder(mSupervisor).setComponent(TEST_COMPONENT).setStack(stack)
.build();
- mTestTask.userId = TEST_USER_ID;
+ mTestTask.mUserId = TEST_USER_ID;
mTestTask.mLastNonFullscreenBounds = TEST_BOUNDS;
mTestTask.hasBeenVisible = true;
mTaskWithDifferentComponent = new TaskBuilder(mSupervisor)
.setComponent(ALTERNATIVE_COMPONENT).build();
- mTaskWithDifferentComponent.userId = TEST_USER_ID;
+ mTaskWithDifferentComponent.mUserId = TEST_USER_ID;
mTaskWithDifferentUser = new TaskBuilder(mSupervisor).setComponent(TEST_COMPONENT).build();
- mTaskWithDifferentUser.userId = ALTERNATIVE_USER_ID;
+ mTaskWithDifferentUser.mUserId = ALTERNATIVE_USER_ID;
mTarget = new LaunchParamsPersister(mPersisterQueue, mSupervisor, mUserFolderGetter);
diff --git a/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java
index 47c76fc..05e173c 100644
--- a/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java
@@ -707,7 +707,7 @@
TaskRecord tr = mock(TaskRecord.class);
tr.mLockTaskAuth = lockTaskAuth;
tr.intent = intent;
- tr.userId = TEST_USER_ID;
+ tr.mUserId = TEST_USER_ID;
return tr;
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java
index 445a5cc..cc598ff 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java
@@ -882,7 +882,7 @@
@Test
public void testNotRestoreRecentTaskApis() {
final TaskRecord task = createTaskBuilder(".Task").build();
- final int taskId = task.taskId;
+ final int taskId = task.mTaskId;
mRecentTasks.add(task);
// Only keep the task in RecentTasks.
task.removeWindowContainer();
@@ -968,7 +968,7 @@
TEST_USER_0_ID, 0).getList();
assertTrue(expectedTasks.length == infos.size());
for (int i = 0; i < infos.size(); i++) {
- assertTrue(expectedTasks[i].taskId == infos.get(i).taskId);
+ assertTrue(expectedTasks[i].mTaskId == infos.get(i).taskId);
}
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java
index c6ffc46..ebedde7 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java
@@ -345,7 +345,7 @@
.setCreateTask(true)
.setComponent(new ComponentName(mContext.getPackageName(), "Home2"))
.build();
- otherUserHomeActivity.getTaskRecord().userId = TEST_USER_ID;
+ otherUserHomeActivity.getTaskRecord().mUserId = TEST_USER_ID;
ActivityStack fullscreenStack = display.createStack(WINDOWING_MODE_FULLSCREEN,
ACTIVITY_TYPE_STANDARD, true /* onTop */);
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java
index 86e307b..0f8fb04 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java
@@ -119,7 +119,7 @@
final byte[] serializedBytes = serializeToBytes(expected);
final TaskRecord actual = restoreFromBytes(serializedBytes);
- assertEquals(expected.taskId, actual.taskId);
+ assertEquals(expected.mTaskId, actual.mTaskId);
assertEquals(expected.mLastNonFullscreenBounds, actual.mLastNonFullscreenBounds);
}
@@ -132,7 +132,7 @@
@Test
public void testCopyBaseIntentForTaskInfo() {
final TaskRecord task = createTaskRecord(1);
- task.lastTaskDescription = new ActivityManager.TaskDescription();
+ task.mTaskDescription = new ActivityManager.TaskDescription();
final TaskInfo info = task.getTaskInfo();
// The intent of info should be a copy so assert that they are different instances.
@@ -648,9 +648,9 @@
final TaskRecord task1 = getTestTask();
final ActivityRecord activity1 = task1.getChildAt(0);
- assertEquals(task0.taskId,
+ assertEquals(task0.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity0.appToken, false /* onlyRoot */));
- assertEquals(task1.taskId,
+ assertEquals(task1.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity1.appToken, false /* onlyRoot */));
}
@@ -669,9 +669,9 @@
// Add one more on top
final ActivityRecord activity2 = new ActivityBuilder(mService).setTask(task).build();
- assertEquals(task.taskId,
+ assertEquals(task.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity0.appToken, true /* onlyRoot */));
- assertEquals(task.taskId,
+ assertEquals(task.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity1.appToken, true /* onlyRoot */));
assertEquals("No task must be reported for activity that is above root", INVALID_TASK_ID,
ActivityRecord.getTaskForActivityLocked(activity2.appToken, true /* onlyRoot */));
@@ -692,9 +692,9 @@
// Add one more on top
final ActivityRecord activity2 = new ActivityBuilder(mService).setTask(task).build();
- assertEquals(task.taskId,
+ assertEquals(task.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity0.appToken, true /* onlyRoot */));
- assertEquals(task.taskId,
+ assertEquals(task.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity1.appToken, true /* onlyRoot */));
assertEquals("No task must be reported for activity that is above root", INVALID_TASK_ID,
ActivityRecord.getTaskForActivityLocked(activity2.appToken, true /* onlyRoot */));
@@ -718,11 +718,11 @@
// Add one more activity on top
final ActivityRecord activity2 = new ActivityBuilder(mService).setTask(task).build();
- assertEquals(task.taskId,
+ assertEquals(task.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity0.appToken, false /* onlyRoot */));
- assertEquals(task.taskId,
+ assertEquals(task.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity1.appToken, false /* onlyRoot */));
- assertEquals(task.taskId,
+ assertEquals(task.mTaskId,
ActivityRecord.getTaskForActivityLocked(activity2.appToken, false /* onlyRoot */));
}
@@ -832,8 +832,8 @@
private TaskRecord createTaskRecord(int taskId) {
return new TaskRecord(mService, taskId, new Intent(), null, null, null,
ActivityBuilder.getDefaultComponent(), null, false, false, false, 0, 10050, null,
- new ArrayList<>(), 0, false, null, 0, 0, 0, 0, 0, null, 0, false, false, false, 0, 0
- );
+ new ArrayList<>(), 0, false, null, 0, 0, 0, 0, 0, null, 0, false, false, false, 0,
+ 0, null /*ActivityInfo*/, null /*_voiceSession*/, null /*_voiceInteractor*/);
}
private static class TestTaskRecordFactory extends TaskRecordFactory {