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

Commit 1ee7436d authored by Mathias Agopian's avatar Mathias Agopian Committed by Android (Google) Code Review
Browse files

Merge "fix a bug that caused the off animation to not show sometimes"

parents 56cbee82 7ee4cd55
Loading
Loading
Loading
Loading
+15 −2
Original line number Original line Diff line number Diff line
@@ -108,9 +108,22 @@ status_t HWComposer::commit() const {
}
}


status_t HWComposer::release() const {
status_t HWComposer::release() const {
    if (mHwc) {
        int err = mHwc->set(mHwc, NULL, NULL, NULL);
        int err = mHwc->set(mHwc, NULL, NULL, NULL);
        return (status_t)err;
        return (status_t)err;
    }
    }
    return NO_ERROR;
}

status_t HWComposer::disable() {
    if (mHwc) {
        free(mList);
        mList = NULL;
        int err = mHwc->prepare(mHwc, NULL);
        return (status_t)err;
    }
    return NO_ERROR;
}


size_t HWComposer::getNumLayers() const {
size_t HWComposer::getNumLayers() const {
    return mList ? mList->numHwLayers : 0;
    return mList ? mList->numHwLayers : 0;
+3 −0
Original line number Original line Diff line number Diff line
@@ -50,6 +50,9 @@ public:
    // Asks the HAL what it can do
    // Asks the HAL what it can do
    status_t prepare() const;
    status_t prepare() const;


    // disable hwc until next createWorkList
    status_t disable();

    // commits the list
    // commits the list
    status_t commit() const;
    status_t commit() const;


+6 −0
Original line number Original line Diff line number Diff line
@@ -2113,6 +2113,12 @@ status_t SurfaceFlinger::turnElectronBeamOffImplLocked(int32_t mode)
        // we're already off
        // we're already off
        return NO_ERROR;
        return NO_ERROR;
    }
    }

    // turn off hwc while we're doing the animation
    hw.getHwComposer().disable();
    // and make sure to turn it back on (if needed) next time we compose
    invalidateHwcGeometry();

    if (mode & ISurfaceComposer::eElectronBeamAnimationOff) {
    if (mode & ISurfaceComposer::eElectronBeamAnimationOff) {
        electronBeamOffAnimationImplLocked();
        electronBeamOffAnimationImplLocked();
    }
    }