Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d12ecb1e authored by Tim Murray's avatar Tim Murray Committed by Android (Google) Code Review
Browse files

Merge "power: throttle interaction hints" into oc-dr1-dev

parents 8322920a 1abbe608
Loading
Loading
Loading
Loading
+16 −14
Original line number Diff line number Diff line
@@ -63,7 +63,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

// ----------------------------------------------------------------------------

@@ -103,19 +103,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
@@ -130,6 +117,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();