Sets the clickability based on QS expansion. Then, when it's expanded,
it is not clickable as QSPanel captures clicks. The top status bar is
always clickable
Test: manual, including brightness slider
Change-Id: Id41473f823285f115240effbea7a2d52596b9bfe
Fixes: 120873445
Small targets in QSFooterImpl that were obscured were registering
clicks, as QSFooterImpl is VISIBLE even if its elements are not.
Test: manual
Change-Id: I42a41045da2225bcd6a5f74f0e8589ddc8fef5f2
Fixes: 120677657
Add a new key-value pair to smart_replies_in_notifications_flags that
controls the default tap-to-edit behaviour.
Bug: 111437455
Test: atest SmartReplyConstantsTest
Test: Try "adb shell settings put global smart_replies_in_notifications_flags edit_choices_before_sending=true" and observe
Change-Id: Ida90b98c28f4183697e84a6722768d41c72dd9cf
Some devices shouldn't render rounded corners because of graphics
limitations.
Bug: 122347746
Test: swipe up on multiple types of devices: walleye, sailfish, blueline
Change-Id: I93fcb4283ed1aa3df5569454483a8867a3bfd06b
Some of the listeners care about doing things to notifications prior
to the entries being filtered and some of them care about it after the
entries are filtered.
This CL introduces new method onPreEntryUpdated and alters the existing
method to be onPostEntryUpdated so that listeners can know about both
events.
Test: atest NotificationEntryManagerTest#estUpdateNotification_prePostEntryOrder
Change-Id: Ifa56fbf27cbc8f58c8eda9c95c79a57f1a52c9ac
Moved to NotificationPresenter (which will need to be broken up
eventually, not but today).
Test: atest
Change-Id: I9dd9c612738bed8e34dc0f394fc397c6b5dbf5c5
Bug: 122503380
Test: compiles
Test: Open YouTube and put it into PIP. Accessing the settings and
disabling PIP correctly closes PIP.
Change-Id: I2903ad37802e4dfab9e3f145483da658c0fdbb5e
Media data will only be available when dozing to avoid duplication
on the notification shade.
Test: manual
Test: atest KeyguardSliceProviderTest
Bug: 111405682
Change-Id: I5e057496aa36c912293be54a4abfa62667b96db3
NotificationData.Entry -> NotificationEntry
Both NotificationData and NotificationEntry moved
`notification.collection` package.
Test: atest
Change-Id: Ia7158eb732711ddb324e514edb9884d518edab87
Up until now we've added smart suggestions to a notification from a
certain list (in order). When we've reached a suggestion that doesn't
fit in the notification we've simply skipped the rest of the
suggestions. With this CL we only skip the suggestion that's too long,
and instead try adding the less-prioritized suggestions.
Example:
Assume the notification can fit suggestions 1, 2, and 4 (suggestion 3 is
too long to fit):
"Action1", "Action2", "LongestActionEvererererrer", "Action4"
Behaviour before this CL: only the first two suggestions are shown:
"Action1", "Action2"
Behaviour after this CL: actions 1, 2, and 4 are shown:
"Action1", "Action2", "Action4"
Bug: 121250868
Test: atest SystemUITests
Change-Id: Icd90eebe1514e88a9dd0d48db050325764830155
This change removes the logic from NotificationEntryManager which snaps
an updated notification's view back into place and replaces it with a
NotificationEntryListener defined by the NotificationStackScrollLayout.
This allows us to remove a method from the NotificationListContainer
interface and gets us halfway to breaking the dependency from
NotificationEntryManager on NotificationListContainer.
Test: atest SystemUITests, manual
Change-Id: I744ece3fa660454d9725aa553ffebcfe8846a303
These methods were only called in one location and either (a) weren't
safe to call in any other situation or (b) weren't conceptually
distinct from their caller.
Test: atest
Change-Id: I7bbb2e9b51b678144f13897db27ad324e78be587
Conceptually, this should be a paired match with
onNotificationAdded(). Previously we were firing this method even
if the notification was no longer present (already removed) or
if it hadn't been added yet (was in pending).
Test: atest
Change-Id: I613f60aa8cf4e1aeb7bb13ff5883a221c9b623c6
This change moves the calls in NotificationEntryManager to
NotificationData.Entry.createIcons() and .removeIcons() to
NotificationRowBinder.inflateViews() to encapsulate all the view
handling in the latter class (and so that we can eventually not create
those icon views right away).
Test: atest SystemUITests, manually
Change-Id: Ie515c85b81ce6ad5de607b83e8f242d7ae03326e
This change modifies the swipe handling logic in NotificationSwipeHelper
such that it doesn't attempt to snap to the "menu open" state when the
menu is zero width (i.e. it's snapping on a left-to-right gesture and
the menu is only enabled for right-to-left swipes). This prevents us
from getting in to a state where the menu was considered "open" when it
wasn't, which caused the next gesture to be handled incorrectly.
Change-Id: I3b78e95de7266e5a469637007ca78f7af2caab49
Fixes: 121077588
Test: manually
This change introduces the ForegroundServiceNotificationListener
component, which contains the logic formerly in
ForegroundServiceController for updating its state in response to
notification events. ForegroundServiceNotificationListener adds a
standard NotificationEntryListener to the NotificationEntryManager,
allowing us to remove the explicit calls from NotificationEntryManager;
splitting this out to its own class prevents us from introducing a
circular dependency since NotificationEntryManager still needs to use
the query methods on ForegroundServiceController.
Test: atest SystemUITests, manual
Change-Id: Iec72aa3a9fd90e3f0079db3b2a3c4f1882e59731
ShadeController is implemented by StatusBar, which is possible to be
swapped by OEMs via using config_statusBarComponent.
Bug: 122277074
Test: Compiles
Change-Id: Ia714405803a37deca9a694d07772e005902ab6bc