summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2012-06-20 13:39:58 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-20 13:39:58 -0700
commitaa049f0d19684cf92f2f6510133a33138845dcd3 (patch)
tree5c9f071e99479abc95c9eaf5a71a8fa8cee69b9e
parent549646d29fccfb2366cc9ca4d894d39c55351fae (diff)
parent8aaf3e47a51aa0beebecc8c536504d310d07cda9 (diff)
downloadframeworks_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.cpp14
-rw-r--r--services/surfaceflinger/SurfaceFlinger.h2
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,