merge in jb-release history after reset to jb-dev
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 25e80d7..51fcce4 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -148,7 +148,7 @@
setTransactionState(state, eOrientationDefault, 0);
// restart the boot-animation
- property_set("ctl.start", "bootanim");
+ startBootAnim();
}
sp<IMemoryHeap> SurfaceFlinger::getCblk() const
@@ -201,7 +201,9 @@
}
// 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) {
@@ -306,11 +308,17 @@
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 d9c2033..b20973b 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -351,6 +351,8 @@
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,