Report only missing user switching callbacks

Right now we Slog.wtf all callbacks that occur after USER_SWITCH_TIMEOUT
It adds noise, especially for slower devices. And in most cases, the error
is not actionable.

This change continues to log errors for all timeouts, but use wtf only
when callback was never called (or took significantly more than
USER_SWITCH_TIMEOUT). This is enforced through additional timeout
mechanism which is triggered 5 seconds after the first timeout, but
doesn't prevent device from switching the user.

Test: simulating timeout by adding artificial delay in one of listeners
Bug: 64725373
Change-Id: I397bdfdf463bd7ba74fa9a983c6fcafc9e8b6a54
2 files changed