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

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

Merge "fix [3312683] Camera mirroring problem after switching from back to...

Merge "fix [3312683] Camera mirroring problem after switching from back to front camera" into honeycomb
parents 2894c8db ad456f98
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -503,12 +503,18 @@ void LayerBase::drawWithOpenGL(const Region& clip, const Texture& texture) const

void LayerBase::setBufferCrop(const Rect& crop) {
    if (!crop.isEmpty()) {
        if (mBufferCrop != crop) {
            mBufferCrop = crop;
            mFlinger->invalidateHwcGeometry();
        }
    }
}

void LayerBase::setBufferTransform(uint32_t transform) {
    if (mBufferTransform != transform) {
        mBufferTransform = transform;
        mFlinger->invalidateHwcGeometry();
    }
}

void LayerBase::dump(String8& result, char* buffer, size_t SIZE) const
+8 −3
Original line number Diff line number Diff line
@@ -465,7 +465,7 @@ void SurfaceFlinger::handleTransaction(uint32_t transactionFlags)
        handleTransactionLocked(transactionFlags, ditchedLayers);
        mLastTransactionTime = systemTime() - now;
        mDebugInTransaction = 0;
        mHwWorkListDirty = true;
        invalidateHwcGeometry();
        // here the transaction has been committed
    }

@@ -731,13 +731,18 @@ void SurfaceFlinger::handlePageFlip()

            mWormholeRegion = screenRegion.subtract(opaqueRegion);
            mVisibleRegionsDirty = false;
            mHwWorkListDirty = true;
            invalidateHwcGeometry();
        }

    unlockPageFlip(currentLayers);
    mDirtyRegion.andSelf(screenRegion);
}

void SurfaceFlinger::invalidateHwcGeometry()
{
    mHwWorkListDirty = true;
}

bool SurfaceFlinger::lockPageFlip(const LayerVector& currentLayers)
{
    bool recomputeVisibleRegions = false;
@@ -1591,7 +1596,7 @@ status_t SurfaceFlinger::onTransact(
            case 1008:  // toggle use of hw composer
                n = data.readInt32();
                mDebugDisableHWC = n ? 1 : 0;
                mHwWorkListDirty = true;
                invalidateHwcGeometry();
                // fall-through...
            case 1004:{ // repaint everything
                Mutex::Autolock _l(mStateLock);
+1 −0
Original line number Diff line number Diff line
@@ -225,6 +225,7 @@ public:
    status_t removeLayer(const sp<LayerBase>& layer);
    status_t addLayer(const sp<LayerBase>& layer);
    status_t invalidateLayerVisibility(const sp<LayerBase>& layer);
    void invalidateHwcGeometry();

    sp<Layer> getLayer(const sp<ISurface>& sur) const;