tree f87ed5b35e06b7067c26f06b07a4cdf6a021a3e0
parent de967a2355752c2653ed14a1d57a7a8c8c2eef57
author Tony <twickham@google.com> 1524016450 -0700
committer Tony <twickham@google.com> 1524016450 -0700

Make sure notification listener stays unbound on reboot when badging disabled

We were requesting unbind in onCreate(), but the NotificationListenerService
documentation for requestUnbind() clearly states "The service should wait for the
{@link #onListenerConnected()} event before performing this operation. I know it's
tempting, but you must wait." I was tempted, and I did not wait. :(

The fact that the notification listener was binding even though the setting was off
was not only inefficient, but also had at least one user-visible bug: because
secure settings are set per user, the global badging setting actually only applies
canShowBadge = false for user 0; other users such as work profile still show badges.

Repro steps:
1. Have a work profile
2. Get a notification on work profile app and normal app
3. Turn off global badging setting ("Allow notification dots" from home settings)
4. Reboot the device

In this case, we get onCreate, call requestUnbind() which is ignored since we aren't
bound, then get onBind() and onListenerConnected() etc. Thus the work profile app has
a notification dot and other apps don't.

Bug: 71545493
Change-Id: I7f7dc219b25c28257f8b98fba7e362b99d3cba45
