summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
Commit message (Collapse)AuthorAgeFilesLines
* Migrate Bubbles to wm-shell (5/n)Tony Huang2020-11-041-1154/+0
| | | | | | | | | | Move bubbles package and related resources to shell package, also copied some used codes and resources. Bug: 161980186 Test: atest SystemUITests Test: atest WMShellUnitTests Change-Id: Ia108bd4149b3c3bf86631ba1a7a6bce0e76af78f
* Migrate Bubbles to wm-shell (4/n)Tony Huang2020-10-281-774/+202
| | | | | | | | | | | | Move BubbleController sysui dependent code to new class BubblesManager and remove using of Dependency of Bubbles. TODO: Tests still need to be remain on sysui, find suitable method to test both classes independently. Bug: 161980186 Test: atest SystemUITests Change-Id: I7be1dfb81f7ddfb5fc20b180fc5affb7a1d8e93c
* Support task listener by task id.Wale Ogunwale2020-10-191-4/+4
| | | | | | | | | Allows for managing specific task regardless of windowing mode. Converted TaskView which to use the new API. Bug: 170153209 Test: All tests pass and bubbles works! Change-Id: Ic5281bc9dd9124841834c88f2b85545107567417
* Vertical bubbles in landscapeMady Mellor2020-10-191-4/+17
| | | | | | | | | | | | | | | - in landscape the bubbles now show on left/right side & layout vertically instead of remaining at the top and being horizontal - introduces BubblePositioner to track the config changes and available screen rect for bubbles based on insets / cutouts - pointer can now go left or right - fixes issue where overflow could be past screen height in landscape Test: manual - bubbles at the top in portrait, bubbles on left / right side in landscape, bubbles at the top with notch, bubbles on left / right side in landscape with notch, with/without gesture nav Bug: 167413172 Change-Id: I4528035fd03d17d11865ddcdddc4732f5a8e616a
* Bubbles & TaskOrganizerMady Mellor2020-10-131-103/+41
| | | | | | | | | | | | | | | | | | | | | | Move bubbles off of ActivityView & onto TaskOrganizer. This mostly impacts BubbleExpandedView, there are a couple of differences spawning from that: * taskId is the new thing, displayId's are old news * No longer need to send back events to the bubble (we can set the bubble'd task to intercept now). * Now we have to subtract the touch region of the activity content * IME insets don't work the "normal" way (?) instead we're now using PinnedStackListener for all our IME needs BubbleTaskView is the ActivityView replacement & it uses BubbleTaskManager internally to deal with the tasks. Test: atest BubbleControllerTest BubbleDataTest (existing) Test: atest MultiWindowTaskListenerTest TaskViewTest Bug: 148977538 Change-Id: Id6e3bf4950218036b1626481c846ffe57b9ef857
* Migrate Bubbles to wm-shell (3/n)Tony Huang2020-10-131-11/+22
| | | | | | | | Remove more sysui dependency in bubbles class. Bug: 161980186 Test: atest SystemUITests Change-Id: I73b60a387dfc85f1c477e4a5cea2484a80992367
* Moving task stack change listener management out of ActivityManagerWrapperSunny Goyal2020-10-121-2/+2
| | | | | | | | | Will eventually remove static initialization and thread restrictions in ActivityManagerWrapper Bug: 170648272 Test: Verified apk locally Change-Id: I9abffc622c7a31df007970235e265554a9039b1f
* Merge "Update flyout post fontScale change"Lyn Han2020-10-061-0/+9
|\
| * Update flyout post fontScale changeLyn Han2020-10-011-0/+9
| | | | | | | | | | | | Fixes: 168682294 Test: change font size repeatedly => flyout text updates correctly Change-Id: I150bbfecc04a1e18476cd9fce3a2998ceaf047c1
* | Migrate Bubbles to wm-shell (2/n)Tony Huang2020-10-061-9/+67
| | | | | | | | | | | | | | | | Remove sysui dependency and dagger in Bubble and BubbleData class. Bug: 161980186 Test: atest SystemUITests Change-Id: Ic66787e194414e5a4b8c98226598bbf274a285a9
* | Move Pip codes from SysUI to WMShell lib (9/N)Bill Lin2020-09-301-3/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | Bug: 161118569 Test: make SystemUI Test: make ArcSystemUI Test: make WMShellUnitTests Test: lunch cf_x86_tv-userdebug & make Test: atest CtsSystemUiTestCases:BasicPipTests Test: atest CtsSystemUiTestCases:CustomPipActionsTests Test: atest CtsSystemUiTestCases:FlickerPipTests Test: atest CtsSystemUiTestCases:PipNotificationTests Test: atest SystemUITests Test: atest WMShellUnitTests Test: manual test PIP demo AP Test: manual test TV PIP function Test: manual test disabled PIP Test: adb shell input keyevent 171(KEYCODE_WINDOW) Test: adb shell am start -n android.systemui.cts.tv.pip/.PipTestActivity -a android.systemui.cts.tv.pip.PipTestActivity.enter_pip Test: adb root;adb shell am start \ -n com.android.systemui/com.android.wm.shell.pip.tv.PipMenuActivity Test: adb shell dumpsys activity service com.android.systemui Change-Id: I0ec0e9b9bfc4795a10483acd225f14bde9c72407
* Merge "Migrate Bubbles to wm-shell (1/n)"Tony Huang2020-09-251-75/+24
|\
| * Migrate Bubbles to wm-shell (1/n)Tony Huang2020-09-221-76/+24
| | | | | | | | | | | | | | | | | | | | | | | | Create Bubbles interface and optional mechanism The Dependency using still remain in some class will remove or refactor in follow-up CL. Bug: 161980186 Test: atest SystemUITests Test: manual Change-Id: I88e5cc6ead1c56985aac07fe8eac39f08f114248
* | Merge "Handle non-visually-interruptive updates better in bubbles" into ↵TreeHugger Robot2020-09-241-3/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | rvc-qpr-dev am: abeb577396 am: 7c0b511fbc Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12663888 Change-Id: If352174bc05a314492a1e68c02b02eb135d786b4
| * | Handle non-visually-interruptive updates better in bubblesMady Mellor2020-09-241-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) If its a non-visual update to an existing bubble don't alter the bubble order or show a flyout 2) If its a non-visual update to a bubble in the overflow don't promote that content out of the overflow Test: BubbleControllerTest Bug: 162975422 Bug: 163608157 Change-Id: I6d8e67028a5aacf1a23acdbfaeb0fa8a50f829a6
| * | Dismiss bubbles if shouldBubbleUp returns false (e.g. DND is enabled and ↵Josh Tsuji2020-08-131-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configured to hide that bubble). Bug: 159413312 Test: post a bubble, enable dnd, bubble goes away, disable DND, bubble is back! Test: change DND settings from 'no sound' to 'no visual', bubble remains if 'no sound' is selected Test: dismiss bubble, enable DND, disable DND, observe bubble does not re-appear since it was manually disabled Change-Id: I8cb4b62d2cf272e9ac46f4088112a6dad381d40c (cherry picked from commit 160d1eb4acaffd0dfab4a00cb2f471fde4476897)
| * | Remember the stack position, including across configuration changes.Joshua Tsuji2020-07-281-0/+9
| | | | | | | | | | | | | | | | | | | | | Bug: 160178651 Test: move bubbles a bunch while rotating Test: move bubbles to bottom of screen in portrait, dismiss them, rotate to landscape, add bubbles again Change-Id: I01dcd0c5ef5997553d5869488c5a2b8494171bba
* | | Re-landing Decouple systemui shared componements from PipController(8/N)Bill Lin2020-09-241-3/+3
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Add PipAppOpsListener, PipMediaController,PipMenuActivityController in WMShellModule scope, and provided by dagger 2) Move system/task listeners/callbacks to WMShell 3) Refactor tv/PipController 4) Create WindowManagerShellWrapper for WMShell features (Separate from WindowManagerWrapper) 5) Remove WindowManagerWrapper.setPipVisibility to adapt new approach 6) Hook dump throught WMShell 7) Decouple SysUI DeviceConfigProxy(Wrapper), use DeviceConfig instead Bug: 161118569 Bug: 165793553 Bug: 168715160 Fixes: 166181820 Test: make SystemUI Test: make ArcSystemUI Test: make WMShellUnitTests Test: lunch aosp_tv_arm-userdebug & make Test: atest CtsSystemUiTestCases:BasicPipTests Test: atest CtsSystemUiTestCases:CustomPipActionsTests Test: atest CtsSystemUiTestCases:FlickerPipTests Test: atest CtsSystemUiTestCases:PipNotificationTests Test: atest SystemUITests Test: atest WMShellUnitTests Test: manual test PIP demo AP Test: manual test TV PIP function Test: manual test disabled PIP Test: adb shell input keyevent 171(KEYCODE_WINDOW) Test: adb shell am start -n android.systemui.cts.tv.pip/.PipTestActivity -a android.systemui.cts.tv.pip.PipTestActivity.enter_pip Test: adb shell dumpsys activity service com.android.systemui Change-Id: Ic64e1de4a87d8722764a44257293e89babe4878f
* | Revert "Decouple systemui shared componements from PipController..."Greg Kaiser2020-09-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "Decouple systemui shared componements from PipController..." Revert submission 12500984-WM-Shell-PIP-migration-8 Reason for revert: Suspect for b/168701961 Reverted Changes: Ib41f203f2:Decouple systemui shared componements from PipCont... I4862508a6:Decouple systemui shared componements from PipCont... Exempt-From-Owner-Approval: Revert to address a P0 Change-Id: I8ef9840610ec8dd8a65c14c617b7ba190cec277d
* | Decouple systemui shared componements from PipController(8/N)Bill Lin2020-09-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Add PipAppOpsListener, PipMediaController,PipMenuActivityController in WMShellModule scope, and provided by dagger 2) Move system/task listeners/callbacks to WMShell 3) Refactor tv/PipController 4) Create WindowManagerShellWrapper for WMShell features (Separate from WindowManagerWrapper) 5) Remove WindowManagerWrapper.setPipVisibility to adapt new approach 6) Hook dump throught WMShell 7) Decouple SysUI DeviceConfigProxy(Wrapper), use DeviceConfig instead Bug: 161118569 Bug: 165793553 Fixes: 166181820 Test: make SystemUI Test: make ArcSystemUI Test: make WMShellUnitTests Test: lunch aosp_tv_arm-userdebug & make Test: atest SystemUITests Test: atest WindowManagerShellTests Test: atest WMShellUnitTests Test: adb shell input keyevent 171(KEYCODE_WINDOW) Test: manual test Pip demo AP Test: adb shell dumpsys activity service com.android.systemui Change-Id: I4862508a664023242565ff741f1bde5e1b05c8b7
* | Merge "Log persisted bubbles"Lyn Han2020-09-141-0/+3
|\ \
| * | Log persisted bubblesLyn Han2020-09-141-0/+3
| | | | | | | | | | | | | | | | | | Bug: 167729787 Test: adb shell cmd stats print-logs Change-Id: I07b470212684e1d186f9f4da9d5e6ee3291cfef5
* | | Unread dot for overflow buttonLyn Han2020-09-111-0/+2
|/ / | | | | | | | | | | | | | | | | | | Show dot if overflow has unread bubbles Fixes: 162595718 Test: Dismiss/age unread bubble into overflow: dot shows Test: Promote/overflow unread bubble out of overflow: dot hides Change-Id: Ic6275d2fa791657bf24cccbe26bd56119f8ea485
* | Per-bubble updates for overflowLyn Han2020-09-081-20/+6
| | | | | | | | | | | | | | Fixes: 149801848 Test: no regressions Change-Id: Ica3f3988dbba932f8b6805b64ea100b0e2abc88f
* | Create NotifGroupManagerHelper interfaceBeverly2020-08-261-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes group expansion for the new notif pipeline. Creates a new interface, NotifGroupManagerHelper, which helps controllers determine group information (ie: summary, parent, children) given a notification entry. This is necessary for parts of the notification pipeline that are shared between the old and new pipelines that require querying group information (ie: HighPriorityProvider, PeopleNotificationIdentifier). Many parts of the old pipeline directly inject NotificationGroupManagerLegacy. This indicates that when migrated to the new pipeline, we can delete the old group manager's functionality since the new pipeline handles the logic elsewhere (most likely in ShadeListBuilder) For example, the new pipeline no longer needs to track isolated entries nor suppressed summaries. Test: test SystemUITests Change-Id: Id716f881aa7122c08be6dada8fb43058594d89f1
* | Separate UI and StatusBar from BiometricUnlockControllerHeemin Seog2020-08-131-2/+1
| | | | | | | | | | | | | | Bug: 162744974 Bug: 155711562 Test: manual, atest SystemUITests, atest :carsysui-presubmit Change-Id: I1a8b6a31e6d965f849d678af0e4c46f236641aac
* | Merge "Dismiss bubbles if shouldBubbleUp returns false (e.g. DND is enabled ↵TreeHugger Robot2020-08-121-5/+19
|\ \ | | | | | | | | | and configured to hide that bubble)."
| * | Dismiss bubbles if shouldBubbleUp returns false (e.g. DND is enabled and ↵Josh Tsuji2020-08-101-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configured to hide that bubble). Bug: 159413312 Test: post a bubble, enable dnd, bubble goes away, disable DND, bubble is back! Test: change DND settings from 'no sound' to 'no visual', bubble remains if 'no sound' is selected Test: dismiss bubble, enable DND, disable DND, observe bubble does not re-appear since it was manually disabled Change-Id: I8cb4b62d2cf272e9ac46f4088112a6dad381d40c
* | | Merge "Remember the stack position, including across configuration changes."Josh Tsuji2020-08-041-0/+9
|\ \ \ | |/ / |/| |
| * | Remember the stack position, including across configuration changes.Joshua Tsuji2020-07-281-0/+9
| | | | | | | | | | | | | | | | | | | | | Bug: 160178651 Test: move bubbles a bunch while rotating Test: move bubbles to bottom of screen in portrait, dismiss them, rotate to landscape, add bubbles again Change-Id: I01dcd0c5ef5997553d5869488c5a2b8494171bba
* | | Add dismissUserStats to NEM#performRemoveNotifBeverly2020-07-291-9/+52
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now both notification pipelines require DismissedByUserStats when removing a notification. Also, refactored the DismissRunnable that gets called whenever a notification is manually swiped away and dismissed from the NotificationShade. Now, ExpandableNotificationRowController injects a OnDismissCallback with a #onDismiss method that will get called whenever a notification is manually swiped by the user OR is clicked with the AUTO_CANCEL flag. Since it's injected it's easier to switch between the new and old pipeline's OnDismissCallback (one which interacts with the old pipeline's NotificationEntryManager, and another with the new NotifCollection). Now this dismiss runnable doesn't need to be passed around starting from inflation. Test: atest SystemUITests Change-Id: Iec985ce2c502462ee35cf86c1e0332168e578823
* | Give SysUi top-app while playing charging anim am: c4b0c2c602 am: ea6358468c ↵Beverly2020-07-151-9/+2
|\| | | | | | | | | | | | | | | am: 9069a2f8bc Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12142930 Change-Id: I2ee7dc65e47be82e0d86f63399fcba4945fb1f55
| * Give SysUi top-app while playing charging animBeverly2020-07-151-9/+2
| | | | | | | | | | | | | | | | | | So that if the device is performing multiple tasks, the charging animation will be given priority and won't be janky. Test: manual Bug: 158678428 Change-Id: I02e31bdac3b46093a76e95e62f2abf4ee47cbb27
* | Merge "Make sure PendingIntent cancel listener is unregistered" into rvc-dev ↵Mady Mellor2020-07-011-17/+23
|\| | | | | | | | | | | | | | | am: 0e3d9d31a2 am: 8c7fa9de80 am: 6f9511d8a4 am: 44f7c4e1d8 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12037679 Change-Id: Ibe38cf1c37027025c36411119b49b38e18082589
| * Make sure PendingIntent cancel listener is unregisteredMady Mellor2020-06-301-17/+23
| | | | | | | | | | | | | | Test: manual Fixes: 160177818 Fixes: 149918957 Change-Id: I429fc3bcd409cf57276617bd8c9aab26194d3af9
* | Merge "Fix some more empty bubble issues!" into rvc-dev am: aeb6e12780 am: ↵TreeHugger Robot2020-06-271-1/+4
|\| | | | | | | | | | | | | | | 695d36a66d am: 2df0892e3f am: edc5a74638 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12010090 Change-Id: Iba4c7f96e5fff1e874ebeaca54a7af2b44e8d99c
| * Fix some more empty bubble issues!Josh Tsuji2020-06-261-1/+4
| | | | | | | | | | | | | | | | | | | | The main thing here is not ignoring new selected bubbles that are different instances, but otherwise equal (same key, etc.). Also, release the animating-out surface on collapse, and don't start the switch animation if we're collapsed. I was able to cause some issues in my testing with animating-out surfaces lying around. Bug: 159861400 Test: manual, also using modded bubble test app with instantly canceled+readded bubbles Change-Id: Ic19ee0bd3f4700021b1c790ae267beba9a52c532
* | Merge "Force top UI if we're expanded, per Jorim's suggestion." into rvc-dev ↵Josh Tsuji2020-06-251-0/+9
|\| | | | | | | | | | | | | | | am: b20343ffe0 am: d8424668d7 am: 6b75025986 am: 3a950d70e1 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11959352 Change-Id: I1f1f411025dc3efcdafc2e530962f8cc33ac7814
| * Merge "Force top UI if we're expanded, per Jorim's suggestion." into rvc-devJosh Tsuji2020-06-251-0/+9
| |\
| | * Force top UI if we're expanded, per Jorim's suggestion.Josh Tsuji2020-06-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | This dramatically reduces jank during the expansion/collapse/switch animations particularly when opening a bubble whose activity is launching for the first time. Bug: 159125958 Test: manual Change-Id: Ie8c9959ea556c4f35ba95e49960282d2fb0270e5
* | | Merge "Hide the IME using InputMethodManagerInternal, because doing it that ↵Josh Tsuji2020-06-241-8/+13
|\| | | | | | | | | | | | | | | | | | | | | | | way actually works." into rvc-dev am: 88e88190eb am: 644d1add13 am: 5648d9349e am: d32a0e7a8a Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11948939 Change-Id: I3760639b9ffb949ce9770333fe12e803e76ad3b4
| * | Hide the IME using InputMethodManagerInternal, because doing it that way ↵Joshua Tsuji2020-06-231-8/+13
| |/ | | | | | | | | | | | | | | | | | | | | | | | | actually works. This technique is also used by the Recents animation to hide the IME. It replaces the AV back press workaround entirely, which fixes the IME hanging around issue (and by extension, the weirdness around the insets). Test: open a bubble (go/use-bubbles), focus an input field, then tap outside the bubbles UI to close the stack, observe that the IME hides Test: open a bubble, focus an input field, switch to another bubble, observe IME hides Test: open bubble, focus input field, switch to another bubble, focus input field, switch to the original bubble, focus input field, collapse stack, observe IME hides (previously the IME would remain visible) Bug: 159369847 Bug: 159561847 Change-Id: I09f27b3c187a7bcfbef663cd3101a74ad8ab95ab
| * Merge "Auto-expand bubble for priority notif" into rvc-devLyn Han2020-06-201-0/+20
| |\
| | * Auto-expand bubble for priority notifLyn Han2020-06-191-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: 157072044 Test: Bubble expands after Silent/Default notif marked Priority Merged-In: I9f6104d88693144d7e247c05a6a41ed216d0eef0 Change-Id: I9f6104d88693144d7e247c05a6a41ed216d0eef0
* | | Merge "Merge "Remove bubbles if their shortcuts are removed or if the app is ↵Automerger Merge Worker2020-06-201-4/+51
|\| | | | | | | | | | | | | | | | | | | | | | | uninstalled." into rvc-dev am: 803d1971a7 am: d0370df46f am: d8b558680d" into rvc-qpr-dev-plus-aosp am: e51cae0a3d Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11934273 Change-Id: Ibec311fdaceed01d54ba06f5217a506079025ffc
| * | Remove bubbles if their shortcuts are removed or if the app is uninstalled.Joshua Tsuji2020-06-191-4/+51
| | | | | | | | | | | | | | | | | | Bug: 157755828 Test: modded bubble test app to remove shortcuts Change-Id: I19acce432013a86695eb3b28c8fe59ab23a4fa88
* | | Fix merge conflicts in auto-expanding bubble for priority notifLyn Han2020-06-191-0/+20
| | | | | | | | | | | | | | | | | | | | | Fixes: 157072044 Test: Bubble expands after Silent/Default notif marked Priority Change-Id: I9f6104d88693144d7e247c05a6a41ed216d0eef0
* | | Merge "When opening from locked shade, wait for the shade to unlock before ↵TreeHugger Robot2020-06-191-12/+33
|\| | | | | | | | | | | | | | | | | | | | | | | expanding." into rvc-dev am: f1f28c8ec4 am: e6a7a0e18c am: 1c7dee820f am: f5df5a3c33 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11934834 Change-Id: Ic74311a0e486e78ed06af453a405be681e3915a7
| * | Merge "When opening from locked shade, wait for the shade to unlock before ↵TreeHugger Robot2020-06-191-12/+33
| |\ \ | | | | | | | | | | | | expanding." into rvc-dev
| | * | When opening from locked shade, wait for the shade to unlock before expanding.Joshua Tsuji2020-06-191-12/+33
| | |/ | | | | | | | | | | | | | | | Bug: 159270619 Test: open notifs from a locked shade! Change-Id: Ibc8312895c4e4321b6a98b60a24ab7c13662e239