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

Commit de146b2d authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add methods to return AppFunctions request and response sizes" into main

parents 6b6d04ee 3a5f1c0d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -136,6 +136,16 @@ public final class ExecuteAppFunctionRequest implements Parcelable {
        return mExtras;
    }

    /**
     * Returns the size of the request in bytes.
     *
     * @hide
     */
    public int getRequestDataSize() {
        return mTargetPackageName.getBytes().length + mFunctionIdentifier.getBytes().length
                + mParameters.getDataSize() + mExtras.getSize();
    }

    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeString8(mTargetPackageName);
+9 −0
Original line number Diff line number Diff line
@@ -135,6 +135,15 @@ public final class ExecuteAppFunctionResponse implements Parcelable {
        return mExtras;
    }

    /**
     * Returns the size of the response in bytes.
     *
     * @hide
     */
    public int getResponseDataSize() {
        return mResultDocumentWrapper.getDataSize() + mExtras.getSize();
    }

    @Override
    public int describeContents() {
        return 0;
+21 −0
Original line number Diff line number Diff line
@@ -50,6 +50,10 @@ public final class GenericDocumentWrapper implements Parcelable {
    @Nullable
    private Parcel mParcel;

    @GuardedBy("mLock")
    @Nullable
    private Integer mDataSize;

    private final Object mLock = new Object();

    public static final Creator<GenericDocumentWrapper> CREATOR =
@@ -75,11 +79,13 @@ public final class GenericDocumentWrapper implements Parcelable {
    public GenericDocumentWrapper(@NonNull GenericDocument genericDocument) {
        mGenericDocument = Objects.requireNonNull(genericDocument);
        mParcel = null;
        mDataSize = null;
    }

    public GenericDocumentWrapper(@NonNull Parcel parcel) {
        mGenericDocument = null;
        mParcel = Objects.requireNonNull(parcel);
        mDataSize = mParcel.dataSize();
    }

    /** Returns the wrapped {@link android.app.appsearch.GenericDocument} */
@@ -109,6 +115,21 @@ public final class GenericDocumentWrapper implements Parcelable {
        }
    }

    /** Returns the size of the parcelled document. */

    int getDataSize() {
        synchronized (mLock) {
            if (mDataSize != null) {
                return mDataSize;
            }
            Parcel tempParcel = Parcel.obtain();
            writeToParcel(tempParcel, 0);
            mDataSize = tempParcel.dataSize();
            tempParcel.recycle();
            return mDataSize;
        }
    }

    @Override
    public int describeContents() {
        return 0;