Merge "Fix issues with getHistoricalOps() results overflowing Binder connection." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
38e2d409ea
@@ -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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user