summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Tim Murray <timmurray@google.com> 2017-07-17 23:28:05 +0000
committer android-build-merger <android-build-merger@google.com> 2017-07-17 23:28:05 +0000
commitd5e591daacf82148458ecfe878ea23cf9398f316 (patch)
treed32c5815b0b6c5a99d28f763c2a37e1c30378c08
parent0b0081e2d0c0bf6db32a344b256fff106a6d94b7 (diff)
parentd7e258116a09069865e412cc8ea9cd0a069dd828 (diff)
Merge "power: throttle interaction hints" into oc-dr1-dev am: d12ecb1ed5
am: d7e258116a Change-Id: Ie12d0f6e1f212245f55b0440ffd2f696a206ce4a
-rw-r--r--services/core/jni/com_android_server_power_PowerManagerService.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/services/core/jni/com_android_server_power_PowerManagerService.cpp b/services/core/jni/com_android_server_power_PowerManagerService.cpp
index 070b8082e22b..2db7dbee647f 100644
--- a/services/core/jni/com_android_server_power_PowerManagerService.cpp
+++ b/services/core/jni/com_android_server_power_PowerManagerService.cpp
@@ -64,7 +64,7 @@ std::mutex gPowerHalMutex;
static nsecs_t gLastEventTime[USER_ACTIVITY_EVENT_LAST + 1];
// Throttling interval for user activity calls.
-static const nsecs_t MIN_TIME_BETWEEN_USERACTIVITIES = 500 * 1000000L; // 500ms
+static const nsecs_t MIN_TIME_BETWEEN_USERACTIVITIES = 100 * 1000000L; // 100ms
// ----------------------------------------------------------------------------
@@ -104,19 +104,6 @@ static void processReturn(const Return<void> &ret, const char* functionName) {
}
void android_server_PowerManagerService_userActivity(nsecs_t eventTime, int32_t eventType) {
- // Tell the power HAL when user activity occurs.
- gPowerHalMutex.lock();
- if (getPowerHal()) {
- Return<void> ret;
- if (gPowerHalV1_1 != nullptr) {
- ret = gPowerHalV1_1->powerHintAsync(PowerHint::INTERACTION, 0);
- } else {
- ret = gPowerHalV1_0->powerHint(PowerHint::INTERACTION, 0);
- }
- processReturn(ret, "powerHint");
- }
- gPowerHalMutex.unlock();
-
if (gPowerManagerServiceObj) {
// Throttle calls into user activity by event type.
// We're a little conservative about argument checking here in case the caller
@@ -131,6 +118,21 @@ void android_server_PowerManagerService_userActivity(nsecs_t eventTime, int32_t
return;
}
gLastEventTime[eventType] = eventTime;
+
+
+ // Tell the power HAL when user activity occurs.
+ gPowerHalMutex.lock();
+ if (getPowerHal()) {
+ Return<void> ret;
+ if (gPowerHalV1_1 != nullptr) {
+ ret = gPowerHalV1_1->powerHintAsync(PowerHint::INTERACTION, 0);
+ } else {
+ ret = gPowerHalV1_0->powerHint(PowerHint::INTERACTION, 0);
+ }
+ processReturn(ret, "powerHint");
+ }
+ gPowerHalMutex.unlock();
+
}
JNIEnv* env = AndroidRuntime::getJNIEnv();