Previous nullcheck just caused another NPE. Actually checking the
null value and adding a test this time.
Bug: 122169343
Test: atest
Change-Id: I4acc055b8d5039ea65fded43526780be883eaf74
Since we don't have status bar on external displays, we need to saparate
the logic to make some animations or transitions just work on external
navigation bars. When we set System UI visibility on an external display,
we could make the flag only effect navigation bar. Also, it can simplify
StatusBar code by moving navigation bar related fields into
NavigationBarController.
Test: atest SystemUITests
Bug: 117478341
Change-Id: I1cdf61f6eeb2c377e04a073401efa0cdb45b65cd
We should eventually modify logic so entry can never be null.
Bug: 122169343
Test: Manual, SystemUITests
Change-Id: Ib4312b7ddff4c6b7bf35e2ea3d5462cfc12b1e11
This allows us to remove the dependency from NotificationEntryManager on
AmbientPulseManager, which at this point was just there as a lifetime
extender.
Test: atest SystemUITests, manual
Change-Id: I3c995fb81c9e628368b720d9e3ac582b2dae7a74
This change moves the logic in NotificationEntryManager which logs
notification removal and inflation errors via the IStatusBarService to
the NotificationLogger, which is already logging visibility changes to
that service.
Test: atest SystemUITests, manual
Change-Id: I895a36db505a165c4e6684d1d6e66592e62ef1f7
Need catch SecurityException while resolving image from a uri to avoid
unexpected crashing.
Bug: 121453336
Test: Manually
Change-Id: Idfef5e7593d11c688baddf2666052185d0281f6c
This change moves the logic in NotificationEntryManager which was
explicitly handling changes in whether a row was minimized or not after
it was reinflated into the target components through the normal listener
mechanism. This involves VisualStabilityManager registering a
NotificationEntryListener and allows us to remove the dependency of
NotificationEntryManager on VisualStabilityManager.
Test: atest SystemUITests, manual
Change-Id: I4bfdbda49c1cdff4a78fabeb2343843edc509fb0
* changes:
Add link to dagger user guide
Make QSTileImpl a LifecycleOwner and make use of it
Remove Dependency.get usages from QS tiles
Switch QS tile creation to use injection
This change removes the aforementioned dependency by having
NotificationData inform the group manager of notification updates; this
parallels the approach taken for adding and removing notifications.
Test: atest SystemUITests, manual
Change-Id: I3811cc70309e1a4dc513a58385e52d991c31f620
This change makes NotificationRemoteInputManager register itself as a
NotificationEntryListener instead of having NotificationEntryManager
separately and explicitly notify it of a notification being removed.
Test: atest SystemUITests, manual
Change-Id: Ib212de504430fd3f543d4c2919e5f434ce2f0aea
This change makes NotificationMediaManager register itself as a
NotificationEntryListener instead of having NotificationEntryManager
separately and explicitly notify it of a notification being removed.
This allows us to remove the dependency of NotificationEntryManager on
NotificationMediaManager. (The reverse dependency already existed.)
Test: atest SystemUITests, manual
Change-Id: I0577bf864668ccbecd70a3c3b13b610f981f7fc4
This change combines the onEntryRemoved() and
onPerformRemoveNotification() methods on NotificationEntryListener to a
single method. The latter method was called after the former method in
all cases where the removal of the notification was precipitated by user
action (swipe, bubble swipe, launching content intent), so it's replaced
by a boolean parameter to the former method indicating whether a user
action caused the removal.
Test: atest SystemUITests, manual
Change-Id: I448fdd68984e3c2489259940c4d3432ac5bfe320
This change combines the onEntryRemoved() and onNotificationRemoved()
methods on NotificationEntryListener to a single method. The logic in
NotificationEntryManager which calls these methods is rearranged and a
flag is added to the callback method in order to fully preserve the
previous behavior of all implementors.
Test: atest SystemUITests, manual
Change-Id: I6077e78005ed6c20b02f5fa21f213199384cc3b8
This change eliminates the mCallback field on NotificationEntryManager,
instead adding the listener which used to be in that field to the list
of listeners.
Test: atest SystemUITests, manual
Change-Id: I3b489ad87cf9d757c9ad9e49cf3c12c35972dee5
This change introduces the NotificationAlertingManager component, a
NotificationEntryListener which handles showing/hiding/updating alerts
(heads-up or ambient pulsing) in response to events from the
NotificationEntryManager. All code in the new component was moved out
of NotificationEntryManager proper.
Test: atest SystemUITests, manual
Change-Id: I46a046da6caf39b1d314b357e21ac6b4755c5796
Checks the machine is currently in one of the pulse states before
query the current pulse reason. Avoid incorrect undocked event cause
DozeService crash. And refines test case and javadoc.
Bug: 120464108
Test: atest SystemUITests
Test: manual
Change-Id: I3595217984ec7982de1f0f53765e7ae0a9d80fcf
Previously, StatusBar was unable to have any views with injection
due to dagger. We're now allowing for member injection in the
top level StatusBar class and any views inflated.
Once most members are migrated from Dependency we can fully migrate
to the new dependency injection.
Bug: 111414690
Test: atest SystemUITests
Change-Id: I988dc4426c2183955a467e9ea7f7ee7acf6f3019