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

Commit 5be893a7 authored by Joe Onorato's avatar Joe Onorato Committed by Android Git Automerger
Browse files

am 446547af: Merge "Don\'t throw when userActivity fails because of the...

am 446547af: Merge "Don\'t throw when userActivity fails because of the permission check." into gingerbread

Merge commit '446547af' into gingerbread-plus-aosp

* commit '446547af':
  Don't throw when userActivity fails because of the permission check.
parents 2af4c51e 446547af
Loading
Loading
Loading
Loading
+26 −1
Original line number Diff line number Diff line
@@ -245,6 +245,8 @@ class PowerManagerService extends IPowerManager.Stub
    private int[] mButtonBacklightValues;
    private int[] mKeyboardBacklightValues;
    private int mLightSensorWarmupTime;
    private int mWarningSpewThrottleCount;
    private long mWarningSpewThrottleTime;

    // Used when logging number and duration of touch-down cycles
    private long mTotalTouchDownTime;
@@ -2095,6 +2097,21 @@ class PowerManagerService extends IPowerManager.Stub
        return (mScreenBrightness.animating && mScreenBrightness.targetValue == 0);
    }

    private boolean shouldLog(long time) {
        synchronized (mLocks) {
            if (time > (mWarningSpewThrottleTime + (60*60*1000))) {
                mWarningSpewThrottleTime = time;
                mWarningSpewThrottleCount = 0;
                return true;
            } else if (mWarningSpewThrottleCount < 30) {
                mWarningSpewThrottleCount++;
                return true;
            } else {
                return false;
            }
        }
    }

    private void forceUserActivityLocked() {
        if (isScreenTurningOffLocked()) {
            // cancel animation so userActivity will succeed
@@ -2112,7 +2129,15 @@ class PowerManagerService extends IPowerManager.Stub
    }

    public void userActivity(long time, boolean noChangeLights) {
        mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
        if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER)
                != PackageManager.PERMISSION_GRANTED) {
            if (shouldLog(time)) {
                Slog.w(TAG, "Caller does not have DEVICE_POWER permission.  pid="
                        + Binder.getCallingPid() + " uid=" + Binder.getCallingUid());
            }
            return;
        }

        userActivity(time, -1, noChangeLights, OTHER_EVENT, false);
    }