fix an issue where the screen could stay off
this would happen when toggling on/off/on very fast, the screen
could stay black (while the panel is on).
Bug: 5429724
Change-Id: Ic8aa6aff066e6267923c0d47ef65e314e7bb6d41
diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
index 59b7e5a..3b7c09e 100644
--- a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
+++ b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
@@ -122,7 +122,7 @@
DisplayHardwareBase::DisplayHardwareBase(const sp<SurfaceFlinger>& flinger,
uint32_t displayIndex)
- : mCanDraw(true), mScreenAcquired(true)
+ : mScreenAcquired(true)
{
mDisplayEventThread = new DisplayEventThread(flinger);
}
@@ -133,14 +133,9 @@
mDisplayEventThread->requestExitAndWait();
}
-void DisplayHardwareBase::setCanDraw(bool canDraw)
-{
- mCanDraw = canDraw;
-}
-
bool DisplayHardwareBase::canDraw() const
{
- return mCanDraw && mScreenAcquired;
+ return mScreenAcquired;
}
void DisplayHardwareBase::releaseScreen() const
diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.h b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.h
index 3ebc7b6..ef2df43 100644
--- a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.h
+++ b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.h
@@ -43,7 +43,6 @@
bool isScreenAcquired() const;
bool canDraw() const;
- void setCanDraw(bool canDraw);
private:
@@ -74,7 +73,6 @@
};
sp<DisplayEventThreadBase> mDisplayEventThread;
- mutable int mCanDraw;
mutable int mScreenAcquired;
};