diff options
author | Mathias Agopian <mathias@google.com> | 2012-06-20 13:39:58 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-20 13:39:58 -0700 |
commit | aa049f0d19684cf92f2f6510133a33138845dcd3 (patch) | |
tree | 5c9f071e99479abc95c9eaf5a71a8fa8cee69b9e | |
parent | 549646d29fccfb2366cc9ca4d894d39c55351fae (diff) | |
parent | 8aaf3e47a51aa0beebecc8c536504d310d07cda9 (diff) | |
download | frameworks_native-aa049f0d19684cf92f2f6510133a33138845dcd3.zip frameworks_native-aa049f0d19684cf92f2f6510133a33138845dcd3.tar.gz frameworks_native-aa049f0d19684cf92f2f6510133a33138845dcd3.tar.bz2 |
am 8aaf3e47: am a67e418e: Exit boot animation cleanly.
* commit '8aaf3e47a51aa0beebecc8c536504d310d07cda9':
Exit boot animation cleanly.
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 14 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.h | 2 |
2 files changed, 13 insertions, 3 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 7323a39..e059f1c 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -151,7 +151,7 @@ void SurfaceFlinger::binderDied(const wp<IBinder>& who) setTransactionState(state, eOrientationDefault, 0); // restart the boot-animation - property_set("ctl.start", "bootanim"); + startBootAnim(); } sp<IMemoryHeap> SurfaceFlinger::getCblk() const @@ -204,7 +204,9 @@ void SurfaceFlinger::bootFinished() } // stop boot animation - property_set("ctl.stop", "bootanim"); + // formerly we would just kill the process, but we now ask it to exit so it + // can choose where to stop the animation. + property_set("service.bootanim.exit", "1"); } static inline uint16_t pack565(int r, int g, int b) { @@ -308,11 +310,17 @@ status_t SurfaceFlinger::readyToRun() mReadyToRunBarrier.open(); // start boot animation - property_set("ctl.start", "bootanim"); + startBootAnim(); return NO_ERROR; } +void SurfaceFlinger::startBootAnim() { + // start boot animation + property_set("service.bootanim.exit", "0"); + property_set("ctl.start", "bootanim"); +} + // ---------------------------------------------------------------------------- bool SurfaceFlinger::authenticateSurfaceTexture( diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index 0700fb9..c3efdbc 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -316,6 +316,8 @@ private: void debugFlashRegions(); void drawWormhole() const; + void startBootAnim(); + void listLayersLocked(const Vector<String16>& args, size_t& index, String8& result, char* buffer, size_t SIZE) const; void dumpStatsLocked(const Vector<String16>& args, size_t& index, |