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

Commit 8d2671a5 authored by John Spurlock's avatar John Spurlock Committed by Android Git Automerger
Browse files

am 2a65f8a6: Doze: Workaround vibration-related pickup gestures.

* commit '2a65f8a6dd58b503aad3de0f7374e50f84fe1a3a':
  Doze: Workaround vibration-related pickup gestures.
parents 2bcee57a 50a8ea6e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -203,6 +203,9 @@
    <!-- Doze: maximum number of times the notification pulse schedule can be reset -->
    <integer name="doze_pulse_schedule_resets">3</integer>

    <!-- Doze: duration to avoid false pickup gestures triggered by notification vibrations -->
    <integer name="doze_pickup_vibration_threshold">2000</integer>

    <!-- Doze: pulse parameter - how long does it take to fade in? -->
    <integer name="doze_pulse_duration_in">1000</integer>

+9 −1
Original line number Diff line number Diff line
@@ -411,7 +411,15 @@ public class DozeService extends DreamService {
            }
            requestPulse();
            setListening(true);  // reregister, this sensor only fires once

            // reset the notification pulse schedule, but only if we think we were not triggered
            // by a notification-related vibration
            final long timeSinceNotification = System.currentTimeMillis() - mNotificationPulseTime;
            if (timeSinceNotification < mDozeParameters.getPickupVibrationThreshold()) {
               if (DEBUG) Log.d(mTag, "Not resetting schedule, recent notification");
            } else {
                resetNotificationResets();
            }
        }
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ public class DozeParameters {
        pw.print("    getPulseOnNotifications(): "); pw.println(getPulseOnNotifications());
        pw.print("    getPulseSchedule(): "); pw.println(getPulseSchedule());
        pw.print("    getPulseScheduleResets(): "); pw.println(getPulseScheduleResets());
        pw.print("    getPickupVibrationThreshold(): "); pw.println(getPickupVibrationThreshold());
    }

    public boolean getDisplayStateSupported() {
@@ -111,6 +112,10 @@ public class DozeParameters {
        return getInt("doze.pulse.schedule.resets", R.integer.doze_pulse_schedule_resets);
    }

    public int getPickupVibrationThreshold() {
        return getInt("doze.pickup.vibration.threshold", R.integer.doze_pickup_vibration_threshold);
    }

    private boolean getBoolean(String propName, int resId) {
        return SystemProperties.getBoolean(propName, mContext.getResources().getBoolean(resId));
    }