Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 49b139c0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix issues with getHistoricalOps() results overflowing Binder...

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14440241

Change-Id: Iea399338adaf7f26b4a9016107a458eb5d0f4c2d
parents 6793a04d 38e2d409
Loading
Loading
Loading
Loading
+7 −20
Original line number Diff line number Diff line
@@ -6854,7 +6854,7 @@ public class AppOpsManager {
            writeLongSparseLongArrayToParcel(mAccessCount, parcel);
            writeLongSparseLongArrayToParcel(mRejectCount, parcel);
            writeLongSparseLongArrayToParcel(mAccessDuration, parcel);
            writeDiscreteAccessArrayToParcel(mDiscreteAccesses, parcel);
            writeDiscreteAccessArrayToParcel(mDiscreteAccesses, parcel, flags);
        }

        @Override
@@ -9711,29 +9711,16 @@ public class AppOpsManager {
    }

    private static void writeDiscreteAccessArrayToParcel(
            @Nullable List<AttributedOpEntry> array, @NonNull Parcel parcel) {
        if (array != null) {
            final int size = array.size();
            parcel.writeInt(size);
            for (int i = 0; i < size; i++) {
                array.get(i).writeToParcel(parcel, 0);
            }
        } else {
            parcel.writeInt(-1);
        }
            @Nullable List<AttributedOpEntry> array, @NonNull Parcel parcel, int flags) {
        ParceledListSlice<AttributedOpEntry> listSlice =
                array == null ? null : new ParceledListSlice<>(array);
        parcel.writeParcelable(listSlice, flags);
    }

    private static @Nullable List<AttributedOpEntry> readDiscreteAccessArrayFromParcel(
            @NonNull Parcel parcel) {
        final int size = parcel.readInt();
        if (size < 0) {
            return null;
        }
        final List<AttributedOpEntry> array = new ArrayList<>(size);
        for (int i = 0; i < size; i++) {
            array.add(new AttributedOpEntry(parcel));
        }
        return array;
        final ParceledListSlice<AttributedOpEntry> listSlice = parcel.readParcelable(null);
        return listSlice == null ? null : listSlice.getList();
    }

    /**