Loading services/surfaceflinger/RefreshRateOverlay.cpp +8 −1 Original line number Original line Diff line number Diff line Loading @@ -37,9 +37,16 @@ bool RefreshRateOverlay::createLayer() { return false; return false; } } Mutex::Autolock _l(mFlinger.mStateLock); mLayer = mClient->getLayerUser(mIBinder); mLayer = mClient->getLayerUser(mIBinder); mLayer->setCrop_legacy(Rect(50, 70, 200, 100), true); mLayer->setCrop_legacy(Rect(50, 70, 200, 100), true); mLayer->setLayer(INT32_MAX - 2); // setting Layer's Z requires resorting layersSortedByZ ssize_t idx = mFlinger.mCurrentState.layersSortedByZ.indexOf(mLayer); if (mLayer->setLayer(INT32_MAX - 2) && idx >= 0) { mFlinger.mCurrentState.layersSortedByZ.removeAt(idx); mFlinger.mCurrentState.layersSortedByZ.add(mLayer); } return true; return true; } } Loading services/surfaceflinger/SurfaceFlinger.cpp +6 −2 Original line number Original line Diff line number Diff line Loading @@ -5432,9 +5432,13 @@ status_t SurfaceFlinger::onTransact(uint32_t code, const Parcel& data, Parcel* r // TODO(b/129297325): expose this via developer menu option // TODO(b/129297325): expose this via developer menu option n = data.readInt32(); n = data.readInt32(); if (n && !mRefreshRateOverlay) { if (n && !mRefreshRateOverlay) { RefreshRateType type; { std::lock_guard<std::mutex> lock(mActiveConfigLock); std::lock_guard<std::mutex> lock(mActiveConfigLock); type = mDesiredActiveConfig.type; } mRefreshRateOverlay = std::make_unique<RefreshRateOverlay>(*this); mRefreshRateOverlay = std::make_unique<RefreshRateOverlay>(*this); mRefreshRateOverlay->changeRefreshRate(mDesiredActiveConfig.type); mRefreshRateOverlay->changeRefreshRate(type); } else if (!n) { } else if (!n) { mRefreshRateOverlay.reset(); mRefreshRateOverlay.reset(); } } Loading Loading
services/surfaceflinger/RefreshRateOverlay.cpp +8 −1 Original line number Original line Diff line number Diff line Loading @@ -37,9 +37,16 @@ bool RefreshRateOverlay::createLayer() { return false; return false; } } Mutex::Autolock _l(mFlinger.mStateLock); mLayer = mClient->getLayerUser(mIBinder); mLayer = mClient->getLayerUser(mIBinder); mLayer->setCrop_legacy(Rect(50, 70, 200, 100), true); mLayer->setCrop_legacy(Rect(50, 70, 200, 100), true); mLayer->setLayer(INT32_MAX - 2); // setting Layer's Z requires resorting layersSortedByZ ssize_t idx = mFlinger.mCurrentState.layersSortedByZ.indexOf(mLayer); if (mLayer->setLayer(INT32_MAX - 2) && idx >= 0) { mFlinger.mCurrentState.layersSortedByZ.removeAt(idx); mFlinger.mCurrentState.layersSortedByZ.add(mLayer); } return true; return true; } } Loading
services/surfaceflinger/SurfaceFlinger.cpp +6 −2 Original line number Original line Diff line number Diff line Loading @@ -5432,9 +5432,13 @@ status_t SurfaceFlinger::onTransact(uint32_t code, const Parcel& data, Parcel* r // TODO(b/129297325): expose this via developer menu option // TODO(b/129297325): expose this via developer menu option n = data.readInt32(); n = data.readInt32(); if (n && !mRefreshRateOverlay) { if (n && !mRefreshRateOverlay) { RefreshRateType type; { std::lock_guard<std::mutex> lock(mActiveConfigLock); std::lock_guard<std::mutex> lock(mActiveConfigLock); type = mDesiredActiveConfig.type; } mRefreshRateOverlay = std::make_unique<RefreshRateOverlay>(*this); mRefreshRateOverlay = std::make_unique<RefreshRateOverlay>(*this); mRefreshRateOverlay->changeRefreshRate(mDesiredActiveConfig.type); mRefreshRateOverlay->changeRefreshRate(type); } else if (!n) { } else if (!n) { mRefreshRateOverlay.reset(); mRefreshRateOverlay.reset(); } } Loading