DisplayHardwareBase::DisplayEventThread::~DisplayEventThread() {
}
-void DisplayHardwareBase::DisplayEventThread::onFirstRef() {
- if (initCheck() == NO_ERROR) {
- run("DisplayEventThread", PRIORITY_URGENT_DISPLAY);
- } else {
- ALOGW("/sys/power/wait_for_fb_{wake|sleep} don't exist");
- }
-}
-
status_t DisplayHardwareBase::DisplayEventThread::initCheck() const {
return ((access(kSleepFileName, R_OK) == 0 &&
access(kWakeFileName, R_OK) == 0)) ? NO_ERROR : NO_INIT;
mDisplayEventThread = new DisplayEventThread(flinger);
}
+void DisplayHardwareBase::startSleepManagement() const {
+ if (mDisplayEventThread->initCheck() == NO_ERROR) {
+ mDisplayEventThread->run("DisplayEventThread", PRIORITY_URGENT_DISPLAY);
+ } else {
+ ALOGW("/sys/power/wait_for_fb_{wake|sleep} don't exist");
+ }
+}
+
DisplayHardwareBase::~DisplayHardwareBase() {
// request exit
mDisplayEventThread->requestExitAndWait();
~DisplayHardwareBase();
+ void startSleepManagement() const;
+
// console management
void releaseScreen() const;
void acquireScreen() const;
public:
DisplayEventThread(const sp<SurfaceFlinger>& flinger);
virtual ~DisplayEventThread();
- virtual void onFirstRef();
virtual bool threadLoop();
status_t releaseScreen() const;
status_t initCheck() const;