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

Commit 9c04ead1 authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Android (Google) Code Review
Browse files

Merge "Mark Layer as modified when changing zOrderRelativeOf."

parents 25c5b36a 606e5cfa
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -147,7 +147,7 @@ void Layer::onRemovedFromCurrentState() {
            strongRelative->removeZOrderRelative(this);
            mFlinger->setTransactionFlags(eTraversalNeeded);
        }
        mCurrentState.zOrderRelativeOf = nullptr;
        setZOrderRelativeOf(nullptr);
    }

    // Since we are no longer reachable from CurrentState SurfaceFlinger
@@ -1164,7 +1164,7 @@ bool Layer::setLayer(int32_t z) {
        if (strongRelative != nullptr) {
            strongRelative->removeZOrderRelative(this);
        }
        mCurrentState.zOrderRelativeOf = nullptr;
        setZOrderRelativeOf(nullptr);
    }
    setTransactionFlags(eTransactionNeeded);
    return true;
@@ -1184,6 +1184,13 @@ void Layer::addZOrderRelative(const wp<Layer>& relative) {
    setTransactionFlags(eTransactionNeeded);
}

void Layer::setZOrderRelativeOf(const wp<Layer>& relativeOf) {
    mCurrentState.zOrderRelativeOf = relativeOf;
    mCurrentState.sequence++;
    mCurrentState.modified = true;
    setTransactionFlags(eTransactionNeeded);
}

bool Layer::setRelativeLayer(const sp<IBinder>& relativeToHandle, int32_t relativeZ) {
    sp<Handle> handle = static_cast<Handle*>(relativeToHandle.get());
    if (handle == nullptr) {
@@ -1207,7 +1214,7 @@ bool Layer::setRelativeLayer(const sp<IBinder>& relativeToHandle, int32_t relati
    if (oldZOrderRelativeOf != nullptr) {
        oldZOrderRelativeOf->removeZOrderRelative(this);
    }
    mCurrentState.zOrderRelativeOf = relative;
    setZOrderRelativeOf(relative);
    relative->addZOrderRelative(this);

    setTransactionFlags(eTransactionNeeded);
+2 −0
Original line number Diff line number Diff line
@@ -899,6 +899,8 @@ private:

    // Layer bounds in screen space.
    FloatRect mScreenBounds;

    void setZOrderRelativeOf(const wp<Layer>& relativeOf);
};

} // namespace android