summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-07-25 00:51:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-07-24 15:36:51 +0000
commit435e040267c4dd08b4e32b0e7b579902709aa9d6 (patch)
treef53a34138a12390a94bcd34e63d5fc671dae042a /media
parentf591b865552dce57c5b4347974a1ac93c676459e (diff)
parent0b30fd4ccf5218b15f770e778703d69cd3432446 (diff)
downloadframeworks_av-435e040267c4dd08b4e32b0e7b579902709aa9d6.zip
frameworks_av-435e040267c4dd08b4e32b0e7b579902709aa9d6.tar.gz
frameworks_av-435e040267c4dd08b4e32b0e7b579902709aa9d6.tar.bz2
Merge "reset battery stats when media player service is started" into lmp-dev
Diffstat (limited to 'media')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index 7218467..735344c 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -34,6 +34,7 @@
#include <utils/misc.h>
+#include <binder/IBatteryStats.h>
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>
#include <binder/MemoryHeapBase.h>
@@ -275,6 +276,20 @@ MediaPlayerService::MediaPlayerService()
// speaker is on by default
mBatteryAudio.deviceOn[SPEAKER] = 1;
+ // reset battery stats
+ // if the mediaserver has crashed, battery stats could be left
+ // in bad state, reset the state upon service start.
+ const sp<IServiceManager> sm(defaultServiceManager());
+ if (sm != NULL) {
+ const String16 name("batterystats");
+ sp<IBatteryStats> batteryStats =
+ interface_cast<IBatteryStats>(sm->getService(name));
+ if (batteryStats != NULL) {
+ batteryStats->noteResetVideo();
+ batteryStats->noteResetAudio();
+ }
+ }
+
MediaPlayerFactory::registerBuiltinFactories();
}