Revert "[RESTRICT AUTOMERGE] Trim the activity info of another uid if no privilege" am: 53a76608e5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20850158 Change-Id: Id57ae9cc7fd5b0e426e746589d4a9de2e6c05ce5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ class RunningTasks {
|
||||
}
|
||||
|
||||
final TaskRecord task = iter.next();
|
||||
list.add(createRunningTaskInfo(task, allowed));
|
||||
list.add(createRunningTaskInfo(task));
|
||||
maxNum--;
|
||||
}
|
||||
}
|
||||
@@ -77,15 +77,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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user