Skip to content

"Delay before next action" timing inaccurate when screen off #2061

@atom-smasher

Description

@atom-smasher

Have you checked if an issue already exists for this bug?

  • Nobody else has reported this bug before

Have you tried restarting your device?

  • I have tried restarting my device and that did not help

What happened that you did not expect?

To demonstrate, I have a simple keymap triggered by Volume-down that performs this action sequence:

  1. Wait 2 seconds
  2. Enable flashlight
  3. Wait 0.5 seconds
  4. Disable flashlight

When the screen is ON, this behaves correctly (≈2.0 s delay, flashlight on for ≈0.5 s, then off).

When the screen is OFF, the timing becomes unreliable:

  • The initial "wait 2000ms" can take much longer than 2 seconds, sometimes indefinitely until the screen is turned on.
  • The "wait 500ms" after enabling the flashlight is also unreliable; sometimes the flashlight stays on far longer than 0.5s, again, sometimes until the screen is turned on.
  • In the worst case (screen off), the flashlight can remain stuck ON until the screen is turned on.

What did you expect to happen?

The action sequence should run with roughly consistent timing regardless of screen state:

  • After pressing Volume-down (screen off), it should wait ≈2s, enable flashlight, wait ≈0.5s, then disable flashlight.
  • The "delay before next action" should not require the screen to be on to progress, and should not leave the flashlight enabled longer than requested.

What would the developer need to do to reproduce the bug?

Minimal reproduction steps

  1. Import the attached keymap group (exported JSON, here) or recreate it manually:
  • Trigger ("Expert mode", so it works with screen off): Volume-down
  • Actions (in order):
    -- "Do nothing", with "Delay before next action" = 2000 ms
    -- Enable flashlight, with "Delay before next action" = 500 ms
    -- Disable flashlight
  1. Confirm baseline behavior with screen ON:
  • Press Volume-down.
  • Observe: flashlight turns on after ≈2 seconds, off ≈0.5 seconds later.
  1. Reproduce with screen OFF:
  • Turn screen off (power button).
  • Press Volume-down once.
  • Observe:
    -- The "2 seconds" delay is often >2 seconds and can appear to stall until the screen is turned on
    -- The "0.5 seconds" delay may also stall, leaving flashlight on.

n.b. my real-world use-case requires a delay of 605000ms (10 minutes, 5 seconds) and gets triggered by a remote BT device while the screen is off. After waiting 10+ minutes with the screen off for the next action to trigger, I often have to turn the screen on and wait another 5+ minutes for the next action to actually trigger.

App version

4.0.5-foss (247)

Android version

Android 10

Device model and manufacturer

Motorola Moto G8 Power

Extra info

  • My device is rooted

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingneeds triagesystem bridgeAny System Bridge things, including Expert Mode

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions