summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java
Commit message (Collapse)AuthorAgeFilesLines
* Getting rid of Dependency.getMichael Mikhail2022-08-231-3/+4
| | | | | | | | | | | Moving Dependency.get from HeadsUpManager class and its children classes by passing the AccessibiltyManagerWrapper and UIEventLogger object in the constructor. Bug: 218354106 Test: manual Change-Id: I5cd2435c0608968a2d880d742ebb1a307c48b02b Merged-In: I5cd2435c0608968a2d880d742ebb1a307c48b02b
* Remove dead code from NotifEntryManagerSteve Elliott2022-08-121-42/+1
| | | | | | | | | | | | All removed code is unused; since all changes are relegated to NotificationEntryManager.java, if this CL still builds, it is proof that the code in question was not referenced anywhere (assuming no reflection). Bug: 200269355 Test: atest SystemUITests Change-Id: If24a9a92c6af5c2edd4fe1b628bb720a6a12a311 Merged-In: If24a9a92c6af5c2edd4fe1b628bb720a6a12a311
* NotificationEntry logging improvementsJeff DeCew2022-06-171-2/+2
| | | | | | | | | | | | | * Pass the NotificationEntry to Loggers, rather than the SBN or key * Use the logKey methods to ensure that notification keys with newlines are cleaned up * This allows engineers to set NotificationUtils.INCLUDE_HASH_CODE_IN_LIST_ENTRY_LOG_KEY=true and detect instance changes from logs. Bug: 224598080 Bug: 231337045 Bug: 236140753 Test: atest ShadeListBuilderTest NotifCollectionTest HeadsUpViewBinderTest HeadsUpManagerTest Test: dumpsysui NotifLog NotifHeadsUpLog Change-Id: I9324c50ffb3384e15c52d85bfe25afd637edd100
* Log HUN view changes and actual removalJay Aliomer2022-01-241-1/+1
| | | | | | Bug: 198359689 Test: manual logging Change-Id: I3fa137a4e34b74a1f9edf99a231f14435176b4c3
* Make sure life extended HUNs get removedJay Aliomer2022-01-071-1/+1
| | | | | | Fixes: 213194601 Test: HeadsUpCoordinatorTest.java Change-Id: I8866572934183a23a4f8b1bfcb263c8c790cfe53
* Properly end lifetimeExtention for ongoing notificationsJay Aliomer2022-01-051-0/+24
| | | | | | Fixes: 209816888 Test: HeadsupCoordinatiorTest Change-Id: I620ec940ec3a836c36d71af327bd74a2640bf76f
* New Pipeline: Add HeadsUpManagerLoggerJeff DeCew2021-11-071-17/+11
| | | | | | Bug: 198359689 Test: dumpsys Change-Id: I00ec13ebd7354a065ee32e9c55c70c7d0d290e89
* Fix HUN launch animationJordan Demeulenaere2021-06-071-0/+6
| | | | | | | | Bug: 189884891 Fixes: 189884891 Test: Post an auto-cancellable notification with MAX priority and click it after > 1s. Change-Id: I301633e5487cd30b23c0b7b5fa22bcbd14b63625
* Move HeadsUpManager out of NSSLDave Mankoff2020-08-251-0/+1
| | | | | | | | | | Move the HeadsUpManager out of NotificationStackScrollLayout. All relevant information is now pushed to the NSSL via NotificationStackScrollLayoutController. Bug: 147245740 Test: atest SystemUITests Change-Id: I63f9107be782b17545ebcb57045e4f987f928c78
* Hide bubble HUNs after unlock with face auth / bypass enabledMady Mellor2020-06-291-1/+1
| | | | | | | | | Test: manual - have face auth with bypass enabled - get a bubble notification while screen locked - look at screen, see HUN, see it unlock => bubble with flyout is shown & HUN is hidden Fixes: 159218197 Change-Id: Ia849b95ecc1c6f08b99c94c0589f151b33bb9ff2
* Abstract content binding into an interfaceKevin Han2019-12-231-1/+1
| | | | | | | | | | | | | | | | | Introduce NotificationRowContentBinder interface which adds a layer of abstraction for the underlying binding implementation. Any implementing class is basically responsible for taking in certain bind parameters and binding the appropriate content views. This allows us to more easily shift out the underlying implementation (i.e. whether its asynchronous or not, whether we use remote views or not). Currently, NotificationContentInflater concretely implements this by creating and using the remote views provided in the notification and asynchronously inflating/applying it. Bug: 145749521 Test: atest SystemUITests Change-Id: Ib03aafe9b4322f0625a4a2d5403423a93ea0d9dc
* Encapsulate NotifEntry.key and .notificationNed Burns2019-10-181-6/+6
| | | | | | | | | | | NotificationEntry.key -> getKey() NotificationEntry.notification -> getSbn() .key -> mKey .notification -> mSbn Test: atest Change-Id: Idcc56af5d941d600b2958afb9ed898fd7ab361cc
* Improved the pulsing experience when swiping away a notificationSelim Cinek2019-02-281-1/+2
| | | | | | | | | Previously the shelf would briefly become visible, which is now fixed. Additionally is the background disappearing when swiping. Test: swipe away notification while pulsing Bug: 125942236 Change-Id: I2bbf47db220aa3b078e11d9c5978342ad1355631
* Rename NotificationInflater to NotificationContentInflaterNed Burns2019-02-141-1/+1
| | | | | | | We have two separate inflation steps; this class name was confusing. Test: atest Change-Id: Iaacf8bf81c755cc2ea217d81674fbacfd52360e4
* Fixes an issue where users could be stuck with heads up notificationsSelim Cinek2019-01-291-0/+4
| | | | | | | | | | | | In a previous refactor, the notification would not be removed as soon as possible anymore when its lifetime was extended, leading to issues where a notification would never time out and therefore never be removed. Additionally would we also extend the lifetime while the panel is expanded, which is wrong. Change-Id: If51ae9ab77ad4eb10166c71db3b902c6ac32fd06 Fixes: 122885133 Test: atest packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java
* Extract NotificationData.Entry to top-levelNed Burns2019-01-071-13/+12
| | | | | | | | | | NotificationData.Entry -> NotificationEntry Both NotificationData and NotificationEntry moved `notification.collection` package. Test: atest Change-Id: Ia7158eb732711ddb324e514edb9884d518edab87
* Don't let everyone reach into NotificationData.Entry for its rowEvan Laird2018-11-271-4/+3
| | | | | Test: atest SystemUITests Change-Id: I0b4b66769afcf39c35800d293c22263e31790788
* Fix heads up/ambient content inflation w/ groups.Kevin2018-11-201-13/+21
| | | | | | | | | | | | | | | | | | | | This CL fixes lazy content inflation for alerting notifications in groups by inflating them on the fly if we would transfer to a notification that does not have its content inflated. We introduce a helper class here to explicitly deal with the transfer logic, refactoring a lot of the GroupManager code out. This removes the previous workaround to always inflate heads up + ambient views. Bug: 111809944 Fixes: 111809944 Fixes: 117933032 Fixes: 117894786 Test: runtest systemui Test: manual, posted groups that trigger a transfer and a transfer back. Group alerts behaved as expected. Change-Id: I9b5ec4c8bdeea20707874d90213dcd1d22d8b503
* Split ambient pulse notif logic from heads up.Kevin2018-09-191-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL aims to split the ambient pulse logic from the heads up logic as a lot of the logic is specific to one or the other. This CL introduces the following major changes. 1. Introduces AmbientPulseManager which manages notifications that pulse while the screen is dozing or on AOD and manages their lifetime. 2. Ties pulse duration for notifications more tightly with the lifetime. This means DozeScrimController does not control the pulse time but instead AmbientPulseManager. This is because previously, having two separate lifetimes (one for the pulse, one for the notification) caused some strange issues to occur if one ended before the other. 3. Divide out logic for heads up and ambient pulse, so they are no longer both tied to shouldPeek in NotificationEntryManager. 4. Multiple naming refactors for readability (e.g. contains -> isAlerting, mShowAmbient -> mOnAmbient, etc.). Although this is a refactor, some of the behavior does change in some places where I thought the current behavior was not intended. In particular: * Ambient notifications are no longer marked as seen immediately on pulsing. We should reserve this for when we are confident the user has seen the notification. * Ambient notifications are no longer disabled or snoozed when heads up notifications are disabled or snoozed respectively. * Removing/cancelling a notification that is pulsing no longer keeps the pulse going awkwardly with no notification in the middle. Instead, the pulse ends (provided it was shown for a minimum amount of time). Change-Id: I26af6f7e7ad7fa71d2d43f7c4d86fb34551151b0 Test: manual, runtest systemui
* Rename setShouldExtendLifetime in LifetimeExtenderKevin2018-09-061-1/+1
| | | | | | | | | Rename NotificationLifetimeExtender.setShouldExtendLifetime to setShouldManageLifetime. This is more clear in what the logic actually is and reads better. Test: runtest systemui Change-Id: Ic5792322ef0a557812d58f07285acee32cce0c1a
* Refactor managers that defer notification removalKevin2018-08-311-4/+54
| | | | | | | | | | | | | | | | | | | | | | | This CL introduces NotificationLifetimeExtender, an interface for the various notification managers to implement to say that a notification should stay around even after being removed. This provides greater consistency/standardization as opposed to having the same implementation done differently and scattered throughout different classes. Also implements small refactors to try to reduce coupling where possible (in particular reduce references to NotificationEntryManager) and move logic to more appropriate locations (in particular move a lot of remote input logic from NotificationEntryManager to NotificationRemoteInputManager.) Test: manual (see below); runtest systemui * heads up + cancel * guts active + cancel * ambient pulse + cancel (UI here is janky even on master) * have a remote input active + cancel * have remote history, send, see that the notification stays Change-Id: I24d345a1f2d8751827e367d1432918b3db7fa5f3
* Split auto dismissing functionality from heads upKevin2018-08-131-0/+317
Refactor HeadsUpManager so that the auto dismissing alert functionality is separate and reusable for future use with ambient pulses. Add tests for this new class and also a few for HeadsUpMananger specific logic First in two-part CL to split ambient pulse logic from heads up logic. Second CL will add an ambient pulse manager which uses the alert logic introduced here and involve more of the actual split. Test: runtest systemui, manual Change-Id: I08069562e7bea4c8e25674aa35237e1bb8cf4475