Merge "Fix issues with getHistoricalOps() results overflowing Binder connection." into sc-dev

This commit is contained in:
TreeHugger Robot
2021-05-06 12:53:24 +00:00
committed by Android (Google) Code Review

View File

@@ -6854,7 +6854,7 @@ public class AppOpsManager {
writeLongSparseLongArrayToParcel(mAccessCount, parcel); writeLongSparseLongArrayToParcel(mAccessCount, parcel);
writeLongSparseLongArrayToParcel(mRejectCount, parcel); writeLongSparseLongArrayToParcel(mRejectCount, parcel);
writeLongSparseLongArrayToParcel(mAccessDuration, parcel); writeLongSparseLongArrayToParcel(mAccessDuration, parcel);
writeDiscreteAccessArrayToParcel(mDiscreteAccesses, parcel); writeDiscreteAccessArrayToParcel(mDiscreteAccesses, parcel, flags);
} }
@Override @Override
@@ -9711,29 +9711,16 @@ public class AppOpsManager {
} }
private static void writeDiscreteAccessArrayToParcel( private static void writeDiscreteAccessArrayToParcel(
@Nullable List<AttributedOpEntry> array, @NonNull Parcel parcel) { @Nullable List<AttributedOpEntry> array, @NonNull Parcel parcel, int flags) {
if (array != null) { ParceledListSlice<AttributedOpEntry> listSlice =
final int size = array.size(); array == null ? null : new ParceledListSlice<>(array);
parcel.writeInt(size); parcel.writeParcelable(listSlice, flags);
for (int i = 0; i < size; i++) {
array.get(i).writeToParcel(parcel, 0);
}
} else {
parcel.writeInt(-1);
}
} }
private static @Nullable List<AttributedOpEntry> readDiscreteAccessArrayFromParcel( private static @Nullable List<AttributedOpEntry> readDiscreteAccessArrayFromParcel(
@NonNull Parcel parcel) { @NonNull Parcel parcel) {
final int size = parcel.readInt(); final ParceledListSlice<AttributedOpEntry> listSlice = parcel.readParcelable(null);
if (size < 0) { return listSlice == null ? null : listSlice.getList();
return null;
}
final List<AttributedOpEntry> array = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
array.add(new AttributedOpEntry(parcel));
}
return array;
} }
/** /**