Merge "Revert "[RESTRICT AUTOMERGE] Trim the activity info of another uid if no privilege"" into qt-dev

This commit is contained in:
Louis Chang
2023-01-06 00:33:41 +00:00
committed by Android (Google) Code Review
4 changed files with 5 additions and 47 deletions

View File

@@ -84,8 +84,7 @@ class AppTaskImpl extends IAppTask.Stub {
if (tr == null) {
throw new IllegalArgumentException("Unable to find task ID " + mTaskId);
}
return mService.getRecentTasks().createRecentTaskInfo(tr,
true /* getTasksAllowed */);
return mService.getRecentTasks().createRecentTaskInfo(tr);
} finally {
Binder.restoreCallingIdentity(origId);
}

View File

@@ -944,7 +944,7 @@ class RecentTasks {
continue;
}
final ActivityManager.RecentTaskInfo rti = createRecentTaskInfo(tr, getTasksAllowed);
final ActivityManager.RecentTaskInfo rti = createRecentTaskInfo(tr);
if (!getDetailedTasks) {
rti.baseIntent.replaceExtras((Bundle) null);
}
@@ -1715,15 +1715,12 @@ class RecentTasks {
/**
* Creates a new RecentTaskInfo from a TaskRecord.
*/
ActivityManager.RecentTaskInfo createRecentTaskInfo(TaskRecord tr, boolean getTasksAllowed) {
ActivityManager.RecentTaskInfo createRecentTaskInfo(TaskRecord tr) {
ActivityManager.RecentTaskInfo rti = new ActivityManager.RecentTaskInfo();
tr.fillTaskInfo(rti);
// Fill in some deprecated values
rti.id = rti.isRunning ? rti.taskId : INVALID_TASK_ID;
rti.persistentId = rti.taskId;
if (!getTasksAllowed) {
TaskRecord.trimIneffectiveInfo(tr, rti);
}
return rti;
}

View File

@@ -68,7 +68,7 @@ class RunningTasks {
}
final TaskRecord task = iter.next();
list.add(createRunningTaskInfo(task, allowed));
list.add(createRunningTaskInfo(task));
maxNum--;
}
}
@@ -76,15 +76,11 @@ class RunningTasks {
/**
* Constructs a {@link RunningTaskInfo} from a given {@param task}.
*/
private RunningTaskInfo createRunningTaskInfo(TaskRecord task, boolean allowed) {
private RunningTaskInfo createRunningTaskInfo(TaskRecord task) {
final RunningTaskInfo rti = new RunningTaskInfo();
task.fillTaskInfo(rti);
// Fill in some deprecated values
rti.id = rti.taskId;
if (!allowed) {
TaskRecord.trimIneffectiveInfo(task, rti);
}
return rti;
}
}

View File

@@ -2436,40 +2436,6 @@ class TaskRecord extends ConfigurationContainer {
info.configuration.setTo(getConfiguration());
}
/**
* Removes the activity info if the activity belongs to a different uid, which is
* different from the app that hosts the task.
*/
static void trimIneffectiveInfo(TaskRecord task, TaskInfo info) {
int topActivityUid = task.effectiveUid;
for (int i = task.mActivities.size() - 1; i >= 0; --i) {
final ActivityRecord r = task.mActivities.get(i);
if (r.finishing || r.isState(ActivityState.INITIALIZING)) {
continue;
}
topActivityUid = r.info.applicationInfo.uid;
break;
}
if (task.effectiveUid != topActivityUid) {
info.topActivity = null;
}
int baseActivityUid = task.effectiveUid;
for (int i = 0; i < task.mActivities.size(); ++i) {
final ActivityRecord r = task.mActivities.get(i);
if (r.finishing) {
continue;
}
baseActivityUid = r.info.applicationInfo.uid;
break;
}
if (task.effectiveUid != baseActivityUid) {
info.baseActivity = null;
}
}
/**
* Returns a {@link TaskInfo} with information from this task.
*/