summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/SurfaceFlinger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp44
1 files changed, 9 insertions, 35 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index aba701ca87..c63d0cf146 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -137,8 +137,15 @@ void SurfaceFlinger::binderDied(const wp<IBinder>& who)
{
// the window manager died on us. prepare its eulogy.
- // restore initial conditions (default device unblank, etc)
- initializeDisplays();
+ // reset screen orientation
+ Vector<ComposerState> state;
+ Vector<DisplayState> displays;
+ DisplayState d;
+ d.what = DisplayState::eOrientationChanged;
+ d.token = mDefaultDisplays[DisplayDevice::DISPLAY_ID_MAIN];
+ d.orientation = DisplayState::eOrientationDefault;
+ displays.add(d);
+ setTransactionState(state, displays, 0);
// restart the boot-animation
startBootAnim();
@@ -424,9 +431,6 @@ status_t SurfaceFlinger::readyToRun()
// We're now ready to accept clients...
mReadyToRunBarrier.open();
- // set initial conditions (e.g. unblank default device)
- initializeDisplays();
-
// start boot animation
startBootAnim();
@@ -1697,36 +1701,6 @@ status_t SurfaceFlinger::onLayerDestroyed(const wp<LayerBaseClient>& layer)
// ---------------------------------------------------------------------------
-void SurfaceFlinger::onInitializeDisplays() {
- // reset screen orientation
- Vector<ComposerState> state;
- Vector<DisplayState> displays;
- DisplayState d;
- d.what = DisplayState::eOrientationChanged;
- d.token = mDefaultDisplays[DisplayDevice::DISPLAY_ID_MAIN];
- d.orientation = DisplayState::eOrientationDefault;
- displays.add(d);
- setTransactionState(state, displays, 0);
-
- // XXX: this should init default device to "unblank" and all other devices to "blank"
- onScreenAcquired();
-}
-
-void SurfaceFlinger::initializeDisplays() {
- class MessageScreenInitialized : public MessageBase {
- SurfaceFlinger* flinger;
- public:
- MessageScreenInitialized(SurfaceFlinger* flinger) : flinger(flinger) { }
- virtual bool handler() {
- flinger->onInitializeDisplays();
- return true;
- }
- };
- sp<MessageBase> msg = new MessageScreenInitialized(this);
- postMessageAsync(msg); // we may be called from main thread, use async message
-}
-
-
void SurfaceFlinger::onScreenAcquired() {
ALOGD("Screen about to return, flinger = %p", this);
sp<const DisplayDevice> hw(getDefaultDisplayDevice()); // XXX: this should be per DisplayDevice