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

Commit 91512a00 authored by Pablo Gamito's avatar Pablo Gamito
Browse files

Add functions to parcel nullable surface controls

Test: None
Change-Id: Ia1bb5771b9d5ea9f70519d92f37ba95d57b4d6fe
parent 421dfd58
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();
    }