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

Commit d94a7e00 authored by Pablo Gamito's avatar Pablo Gamito Committed by Android (Google) Code Review
Browse files

Merge "Add functions to parcel nullable surface controls"

parents cd6e62c7 91512a00
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -200,5 +200,27 @@ status_t SurfaceControl::readFromParcel(const Parcel& parcel,
    return NO_ERROR;
}

status_t SurfaceControl::readNullableFromParcel(const Parcel& parcel,
                                                sp<SurfaceControl>* outSurfaceControl) {
    bool isNotNull;
    SAFE_PARCEL(parcel.readBool, &isNotNull);
    if (isNotNull) {
        SAFE_PARCEL(SurfaceControl::readFromParcel, parcel, outSurfaceControl);
    }

    return NO_ERROR;
}

status_t SurfaceControl::writeNullableToParcel(Parcel& parcel,
                                               const sp<SurfaceControl>& surfaceControl) {
    auto isNotNull = surfaceControl != nullptr;
    SAFE_PARCEL(parcel.writeBool, isNotNull);
    if (isNotNull) {
        SAFE_PARCEL(surfaceControl->writeToParcel, parcel);
    }

    return NO_ERROR;
}

// ----------------------------------------------------------------------------
}; // namespace android
+4 −0
Original line number Diff line number Diff line
@@ -47,6 +47,10 @@ public:
    static status_t readFromParcel(const Parcel& parcel, sp<SurfaceControl>* outSurfaceControl);
    status_t writeToParcel(Parcel& parcel);

    static status_t readNullableFromParcel(const Parcel& parcel,
                                           sp<SurfaceControl>* outSurfaceControl);
    static status_t writeNullableToParcel(Parcel& parcel, const sp<SurfaceControl>& surfaceControl);

    static bool isValid(const sp<SurfaceControl>& surface) {
        return (surface != nullptr) && surface->isValid();
    }