Merge "Lists returned from OS aren't mutable."

This commit is contained in:
Jeff Sharkey
2016-11-18 22:42:50 +00:00
committed by Android (Google) Code Review
2 changed files with 10 additions and 3 deletions

View File

@@ -17,12 +17,15 @@
package android.content.pm;
import android.os.Binder;
import android.os.Build;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
import android.util.Log;
import dalvik.system.VMRuntime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -127,7 +130,11 @@ public class ParceledListSlice<T extends Parcelable> implements Parcelable {
}
public List<T> getList() {
return mList;
if (VMRuntime.getRuntime().getTargetSdkVersion() > Build.VERSION_CODES.N_MR1) {
return Collections.unmodifiableList(mList);
} else {
return mList;
}
}
@Override

View File

@@ -104,8 +104,8 @@ public class RecentsTaskLoadPlan {
int currentUserId = UserHandle.USER_CURRENT;
updateCurrentQuietProfilesCache(currentUserId);
SystemServicesProxy ssp = Recents.getSystemServices();
mRawTasks = ssp.getRecentTasks(ActivityManager.getMaxRecentTasksStatic(),
currentUserId, includeFrontMostExcludedTask, mCurrentQuietProfiles);
mRawTasks = new ArrayList<>(ssp.getRecentTasks(ActivityManager.getMaxRecentTasksStatic(),
currentUserId, includeFrontMostExcludedTask, mCurrentQuietProfiles));
// Since the raw tasks are given in most-recent to least-recent order, we need to reverse it
Collections.reverse(mRawTasks);