History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c7fd69699058e9b7f0601aca9275b597e8f62736 06-Sep-2017 Adrian Roos <roosa@google.com> AOD: Prewarm display while waiting for brightness sensor

This partially reverts commit a79ad59d49cdb3ef6f4cf864094063e3e9111586.

Instead of keeping AOD paused, we now turn the display on, but keep it soft
blanked by keeping the front scrim opaque black until we get a valid sensor
event.

Bug: 65010918
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java
Change-Id: Ic39d29814024d52117538a6a19adaf3866c7223e
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
a79ad59d49cdb3ef6f4cf864094063e3e9111586 31-Aug-2017 Adrian Roos <roosa@google.com> AOD: Keep brightness sensor registered while covered

Keeps the brightness sensor registered even if proximity is near.

This allows the brightness sensor to react faster after coming out
of a pocket.

Also wait with unpausing AOD until the brightness sensor reports
a valid brightness again.

Bug: 65010918
Test: Cover prox sensor for 10s, verify with 'adb shell dumpsys sensorservice' that the binned brightness sensor is still registered.
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
Change-Id: Ife1bb7399a7ad8a15b1f4d210bb38044cbe9d3ae
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
8443dd0e7680e489509e8a9bf0bb5fcefd7a8c3e 25-Aug-2017 jackqdyulei <jackqdyulei@google.com> Hook up AOD knobs to Settings.Global

This cl creates AlwaysOnDisplayPolicy, which get values for the
following knobs(go/aod-experiments) from Settings.Global:
1. screen_brightness_array
2. dimming_scrim_array
3. prox_screen_off_delay
4. prox_cooldown_trigger
5. prox_cooldown_period

Also update code to make sure AlwaysOnDisplayPolicy is used
everywhere.

Bug: 64899561
Test: runtest -x AlwaysOnDisplayPolicyTest

Change-Id: I2e83ff980771e67177e4964bd83aa68b2bdca65f
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
a957c56da0b255feaef7ec1a06e399bb6a814e61 03-Aug-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AOD: Unregister touchscreen sensors while pulsing" into oc-dr1-dev
98d3198b5ced6b371067d0ff6166aaffff1dd512 02-Aug-2017 Adrian Roos <roosa@google.com> AOD: Unregister touchscreen sensors while pulsing

While we're pulsing, the touch screen is fully on. Keeping touchscreen
sensors registered can lead to the sensorhub and kernel touch driver
racing on who gets to control the touchscreen; the losing party may
also logspam and consume increased power.

To avoid this, we unregister touchscreen sensors when turning the screen
on.

Change-Id: Ie236d0a40c92d7fc544bd34ff883e613915c8e46
Fixes: 64160164
Test: receive notification; adb shell dumpsys sensorservice, verify double tap sensor is not registered; verify it is again registered after swiping away the notification.
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
a6c03f8d27cf6239e318e815dd12e2eed5d300a4 26-Jul-2017 Adrian Roos <roosa@google.com> AOD: When prox covered disable touch during pulse instead of aborting

Fixes a UX issue where covering the prox would abort dozing. This
was done to prevent falsing and save power, but in practice results
in a frustrating experience when the proximity sensor is covered
transiently when reaching for the device.

Instead, just ignore touch while the sensor is covered.

Change-Id: Id70f8605c6c7a37288a383d587025bb9b4191b42
Fixes: 64007762
Test: Trigger AOD2, cover sensor. Verify phone stays on but double tap does nothing.
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
70da03adbdb6fc06b1ff5ad5decf36d55d749e84 24-Jul-2017 Adrian Roos <roosa@google.com> AOD: Skip prox check if cached prox value available

On AOD, we run the proximity sensor, so when a pulse comes in,
there is no need to wait for a new result. Instead, we can use
the existing value if available.

Change-Id: Ibded081e5011a3053e6990012f97f63865e20298
Fixes: 63538693
Test: receive notification, verify that pulsing starts immediately and does not wait for the proximity check.
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
d0963a07d148426d7b872862697ae1ca538a834b 15-May-2017 Adrian Roos <roosa@google.com> AOD: Implement long press gesture to launch assist

Bug: 37684244
Test: adb shell settings put secure doze_pulse_on_long_press 1; turn screen off, long press, verify assistant is launched
Change-Id: I87335d3c091bbb17022d79e599f46fb826039b7d
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
710a0b13628be61899472959526fa5e6fbb06b1f 07-Jul-2017 Adrian Roos <roosa@google.com> AOD: Block when fingerprint is already authenticated but waiting for goingToSleep to complete

Improves an issue where immediately triggering fingerprint after
the devices goes to sleep results in a lot of flickering.

There's still flicker however if the fingerprint authenticates after we've requested the AOD
display state, but before it has actually been applied.

Bug: 62887179
Test: Go to Home. Lock screen. Immediately unlock via fingerprint. Verify that the AOD screen does not even show.
Change-Id: Ib6425eee803a8c7e02f9621a571e562e825af57f
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
f2d545e30717c09c39df36aa601cf39e44dcdc50 05-Jul-2017 Adrian Roos <roosa@google.com> AOD: Disable if device is not yet provisioned

Change-Id: If1563d9558205936a8c78d1232eb0879700ff6b3
Fixes: 62263216
Test: adb shell settings put user_setup_complete 0; turn off screen; verify AOD does not show
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
fc73208ec9d6e00e33628056d9774d9729309b2b 03-Jul-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AOD: Avoid double re-registration of sensors" into oc-dr1-dev
6023ccbea1568d8b22db82cac9bf7a03367d0a61 28-Jun-2017 Adrian Roos <roosa@google.com> AOD: Add hysteresis to pausing the display

Delays pausing the display by several seconds to avoid
flickering when the prox is only covered transiently.

Also adds cooldown to the proximity sensor, such that when
it toggles too often it gets disabled for a while.

Bug: 62292293
Test: cover prox for less than 10s, observe display stays on. Cover for more, observe display turns off.
Change-Id: Ifa407b84760fc299fbbcfa92d9e942e0093c4b73
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
e3ac6f853f5ef9a034ef4d8a8c66ac47f3b66188 30-Jun-2017 Adrian Roos <roosa@google.com> AOD: Avoid double re-registration of sensors

Bug: 62940557
Test: adb shell setprop log.tag.DozeService DEBUG; adb kill `pid systemui`; adb logcat -s DozeSensors, verify sensors are only reregistered, not registered, unregistered and reregistered after unpausing AOD
Change-Id: I362eca377ec67e986c7aef8ad81ce261a6f3fd68
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
939171ee8bdb38ce3d31817af67d10fb98f94d94 28-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AOD: Proximity check doze triggers" into oc-dr1-dev
5f7bee46e1561e293e646565be6851d86a6b7f1e 27-Jun-2017 Adrian Roos <roosa@google.com> AOD: Pause sensors while proximity is covered

Test: manual
Bug: 62484520
Change-Id: I4c5b28e62396fb4178bdec7fa5f1f7af5209e2fa
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
d32b366a1752d1735cfe4b87058596d05fcf9588 27-Jun-2017 Adrian Roos <roosa@google.com> AOD: Proximity check doze triggers

Adds a proximity check to doze triggers that fire
while AOD is enabled.

Bug: 62484520
Test: manual
Change-Id: I5c0e8ccec1e470be6722dade06b2e8f174943512
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
25c7a58f33c7c24e59f522b86e3cf064fdfd3b8c 02-Jun-2017 Adrian Roos <roosa@google.com> AOD: Use double tap coordinates to trigger Ambient Indication

Bug: 38386446
Test: Double tap on AOD, verify that it still works. On device that supports double tap coordinates, verify that double tapping on ambient music opens ambient music.
Change-Id: Ic75ba731a980c9598c85927e83d2032f01da4822
(cherry picked from commit 44198f5124743f0d603eb4efa3b436bd96f32144)
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
7a2de699b26fde465c34f14f4e8126e49c5562fa 03-May-2017 Adrian Roos <roosa@google.com> Merge "AOD: Pass through pulse reason to DozeUi" into oc-dev am: 838e5f04be
am: 4c49f656fb

Change-Id: I297365d186814fe0502f8cf155a650546ce959fd
838e5f04bedac5546950bce8a3db188b29cc2af5 03-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AOD: Pass through pulse reason to DozeUi" into oc-dev
d7b9d10d569438968f75d2453c4293caf89774f2 29-Apr-2017 Adrian Roos <roosa@google.com> AOD: Pass through pulse reason to DozeUi

Fixes an issue where the Ambient Display transition
is too slow in response to double tap / lift, because
we are applying the animation for the notification case.

Bug: 34716110
Test: runtest systemuig
Change-Id: I84f2c59205d157d89baac1688dd6cd97a170a489
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
ed85e58656685f0ac28be7678db61edc88cd95e7 28-Apr-2017 Adrian Roos <roosa@google.com> AOD: Wake up on double tap instead of requesting pulse

When we are already showing AOD1 always, we need to
wake up instead of requesting a pulse.

Change-Id: I2931334caa350a157a1eab24f00ddf1ab913cc34
Fixes: 37751889
Test: Turn on AOD, double tap on AOD, verify device wakes up.
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
60a7739798f1637fdae6b50198dad285e162e663 25-Apr-2017 Adrian Roos <roosa@google.com> AOD: Remove wake up fully config flag

Fixes: 37270258
Test: Double tap, make sure device does not wake up to lockscreen, only to ambient display
Change-Id: Iaf0c3bfb5dcf566adae7f37b51c866d92bce7a1d
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
d35d4ca69f06cc53c02036f418275c255dc6ed68 19-Apr-2017 Adrian Roos <roosa@google.com> AOD: Fix broken triggers after failed prox check

Fixes an issue where after a failed prox check
we would not correctly reset mPulsePending and
thus never trigger a pulse again until the
DozeService restarts.

Also adds logging for dropped and canceled pulses
to aid diagnosing similar or different bugs
in the future.

Also adds a regression test.

Fixes: 37477968
Test: runtest -x /frameworks/base/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
Change-Id: Ic465b7686ae1937a29d07a66fe44cf7ad18419ef
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
67cca7442bfeffc0bace506a796cfdd39e5d511c 14-Apr-2017 Adrian Roos <roosa@google.com> AOD: Prolong AOD2 after interaction, turn off AOD when prox covered

Turns off AOD 1 and 2 when the proximity sensor is covered.
Also extends the AOD2 duration when the screen is touched or
the lift gesture is triggered.

Also fixes some issues with the fingerprint unlock transition
from AOD where the doze state for the NotificationPanelView
was cleared too early.

Also hides the wallpaper while we're dozing.

Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
Fixes: 36893539
Fixes: 36893538
Fixes: 36033906
Fixes: 37327153
Change-Id: I3fccae1515a0daf2ff99589ed78ec947687e6262
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
c1b50324a2286b24b691b8a7190743cbc341727e 27-Feb-2017 Adrian Roos <roosa@google.com> AOD: Add wakelock for charging text while dozing

Also refactors the WakeLocks in SystemUI.

Bug: 30876804
Bug: 35850304
Test: runtest systemui
Change-Id: Ie17eedfd266deb3aa46dabd701bc784330b2e030
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
7a1654e8e40dfa0928a0348fc5954614554a8a06 14-Feb-2017 Adrian Roos <roosa@google.com> AOD: Add toggle for waking up instead of ambient display on sensors

Bug: 30876804
Test: Open SysUI tuner -> Ambient Display -> Toggle wake up on sensors setting, verify that double tap and lift wake up phone instead of triggering ambient display.
Change-Id: Ia33ab1ab5ed532f239262d70e00dac3fec0330e2
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
4b820e4e5e0404adbf9f9678b79fa7e988e3e597 14-Jan-2017 Adrian Roos <roosa@google.com> AOD: Use heads-up state instead of buzzBeepBlinked

Bug: 30876804
Test: runtest systemui
Change-Id: Ib6de3aa33c0bbe004b9e4070817860efbe886161
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
f9d13f6d7a6fda22620cd4eab74ec98cafdbd147 09-Nov-2016 Adrian Roos <roosa@google.com> Doze: Add plugin hook

Test: mmm vendor/google_experimental/users/roosa/DozePlugin/
Change-Id: I7ea55954f0c07be932e8ee7037e03b7c01cc1108
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
181c320ee4b464244296ceddfbce7c0503110d03 07-Nov-2016 Adrian Roos <roosa@google.com> DozeLog: fix notification trigger logging

Test: receive notification, make sure pulse gets logged
Change-Id: I375c01201dad3fd4237c1deae4606974aa2cb54a
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
ff2c4563cdee60576847e161678549bc501e8d84 03-Nov-2016 Adrian Roos <roosa@google.com> Doze: Refactor v1

Pulls appart UI, state, power, display and trigger management
into individual components controlled by a state machine.

Also adds tests.

Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
Change-Id: I6ee7e79d58a5a3ebeb975775af44ad1e5aaccf93
/frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java