Loading services/surfaceflinger/DisplayHardware/DisplayHardware.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,11 @@ void DisplayHardware::init(uint32_t dpy) { mNativeWindow = new FramebufferNativeWindow(); framebuffer_device_t const * fbDev = mNativeWindow->getDevice(); if (!fbDev) { LOGE("Display subsystem failed to initialize. check logs. exiting..."); exit(0); } mDpiX = mNativeWindow->xdpi; mDpiY = mNativeWindow->ydpi; mRefreshRate = fbDev->fps; Loading services/surfaceflinger/SurfaceFlinger.cpp +25 −0 Original line number Diff line number Diff line Loading @@ -163,9 +163,34 @@ void SurfaceFlinger::bootFinished() const nsecs_t duration = now - mBootTime; LOGI("Boot is finished (%ld ms)", long(ns2ms(duration)) ); mBootFinished = true; // wait patiently for the window manager death const String16 name("window"); sp<IBinder> window(defaultServiceManager()->getService(name)); if (window != 0) { window->linkToDeath(this); } // stop boot animation property_set("ctl.stop", "bootanim"); } void SurfaceFlinger::binderDied(const wp<IBinder>& who) { // the window manager died on us. prepare its eulogy. // unfreeze the screen in case it was... frozen mFreezeDisplayTime = 0; mFreezeCount = 0; mFreezeDisplay = false; // reset screen orientation setOrientation(0, eOrientationDefault, 0); // restart the boot-animation property_set("ctl.start", "bootanim"); } void SurfaceFlinger::onFirstRef() { run("SurfaceFlinger", PRIORITY_URGENT_DISPLAY); Loading services/surfaceflinger/SurfaceFlinger.h +5 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ enum { class SurfaceFlinger : public BinderService<SurfaceFlinger>, public BnSurfaceComposer, public IBinder::DeathRecipient, protected Thread { public: Loading Loading @@ -192,6 +193,10 @@ public: sp<Layer> getLayer(const sp<ISurface>& sur) const; private: // DeathRecipient interface virtual void binderDied(const wp<IBinder>& who); private: friend class Client; friend class LayerBase; Loading Loading
services/surfaceflinger/DisplayHardware/DisplayHardware.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,11 @@ void DisplayHardware::init(uint32_t dpy) { mNativeWindow = new FramebufferNativeWindow(); framebuffer_device_t const * fbDev = mNativeWindow->getDevice(); if (!fbDev) { LOGE("Display subsystem failed to initialize. check logs. exiting..."); exit(0); } mDpiX = mNativeWindow->xdpi; mDpiY = mNativeWindow->ydpi; mRefreshRate = fbDev->fps; Loading
services/surfaceflinger/SurfaceFlinger.cpp +25 −0 Original line number Diff line number Diff line Loading @@ -163,9 +163,34 @@ void SurfaceFlinger::bootFinished() const nsecs_t duration = now - mBootTime; LOGI("Boot is finished (%ld ms)", long(ns2ms(duration)) ); mBootFinished = true; // wait patiently for the window manager death const String16 name("window"); sp<IBinder> window(defaultServiceManager()->getService(name)); if (window != 0) { window->linkToDeath(this); } // stop boot animation property_set("ctl.stop", "bootanim"); } void SurfaceFlinger::binderDied(const wp<IBinder>& who) { // the window manager died on us. prepare its eulogy. // unfreeze the screen in case it was... frozen mFreezeDisplayTime = 0; mFreezeCount = 0; mFreezeDisplay = false; // reset screen orientation setOrientation(0, eOrientationDefault, 0); // restart the boot-animation property_set("ctl.start", "bootanim"); } void SurfaceFlinger::onFirstRef() { run("SurfaceFlinger", PRIORITY_URGENT_DISPLAY); Loading
services/surfaceflinger/SurfaceFlinger.h +5 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ enum { class SurfaceFlinger : public BinderService<SurfaceFlinger>, public BnSurfaceComposer, public IBinder::DeathRecipient, protected Thread { public: Loading Loading @@ -192,6 +193,10 @@ public: sp<Layer> getLayer(const sp<ISurface>& sur) const; private: // DeathRecipient interface virtual void binderDied(const wp<IBinder>& who); private: friend class Client; friend class LayerBase; Loading