diff options
| author | 2017-07-17 23:28:05 +0000 | |
|---|---|---|
| committer | 2017-07-17 23:28:05 +0000 | |
| commit | d5e591daacf82148458ecfe878ea23cf9398f316 (patch) | |
| tree | d32c5815b0b6c5a99d28f763c2a37e1c30378c08 | |
| parent | 0b0081e2d0c0bf6db32a344b256fff106a6d94b7 (diff) | |
| parent | d7e258116a09069865e412cc8ea9cd0a069dd828 (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.cpp | 30 |
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(); |