summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-13.0.0_r52' of ↵George Zacharia2023-08-021-33/+71
|\ | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 Release 52 (TQ3A.230605.012) Change-Id: Ic80f318636f1f70bbd009504352ddde511d0dead
| * Fix QS and QS Footer sometimes having low alpha after expansionChristian Göllner2023-03-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This could happen in two cases: - Fast fling to expand shade - Setting global animator duration scale to 0 There were two issues in the code: - For the footer: During very fast flings, QSFragment was receiving calls to setExpansion, and when certain parameters where the same as before, there was an early return, and the footer alpha was not being set. The code to check if the parameters were the same as before, forgot to check for the value of "panelExpansionFraction". This was different than before, and used for the footer alpha, but ignored in the check. - For the entire panel: reproducible when setting animator duration scale to 0. The issue was that QuickSettingsController didn't have the most up to date value for the shade expansion fraction. When animator duration scale was 1, this issue was almost no visible because it keep getting new values until reaching 0.999 of expansion. When setting the animator duration scale to 0, there will only be one call with the updated expansion, instead of multiple, so the out of date value will be noticeable. Fixes: 271605496 Fixes: 219589379 Test: Manually, as described above. Change-Id: I4ab954b1d5ccca609af63179e72e053f7e1f4a64
| * Split shade expansion: adjust alpha interpolation to match motion specsChristian Göllner2023-03-071-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + Centralizes the interpolation values for easier tweaking in the future + Adds more granular control over interpolation of different components: - Behind scrim - Notification scrim - Notifications - Notification footer - QS Change-Id: I5e13855e9a5ab5fc0a0c98c3e7293571e515ab8d Test: Unit tests Test: Manually on device. See videos Fixes: 259269166 Fixes: 265643813 Flag: LARGE_SHADE_GRANULAR_ALPHA_INTERPOLATION
| * Prepare to remove new headers flagFabian Kozynski2023-02-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL sets everything up for removal of the flag. In particular: * Shortcircuits any conditional the flag was in to true. * Removes all the header views and code from QuickStatusBarHeader and controller. This still exists because it contains QuickQSPanel and refactoring is outside of the scope of this CL. * Renames LargeScreenShadeHeaderController to ShadeHeaderController * Replaces the view with a MotionLayout unconditionally * Removes dimens that were explicitly for combined headers and applies them to the default dimen. * Combines LargeScreenShadeHeaderControllerTest and LargeShadeHeaderControllerCombinedTest into ShadeHeaderControllerTest * Adds the views to the NotificationPanelUnfoldAnimationController Bug: 254512321 Test: SystemUITests Test: QS PlatformScenarioTests Change-Id: I578b82571dc91a9e31c196f3affe60d84c64a1fe
| * Logging when QSFragment becomes visible/invisibleMichal Brzezinski2023-02-161-18/+6
| | | | | | | | | | | | | | | | | | This will be helpful when trying to determine why QS sometimes become invisible in split shade. Probably helpful in other cases as well. Also removing a few unused/noop fields. Bug: 219589379 Test: presubmit Change-Id: Ide825308dc823ff379b29cf456c35cef33212d7d
| * Merge changes from topics "people-space-benchmark", ↵Jordan Demeulenaere2023-01-131-3/+29
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | "people-space-jank-benchmark", "sysui-compose-initializer" into tm-qpr-dev * changes: Show the Compose implementation of the footer actions when available Introduce ComposeInitializer (1/2) Add a Microbenchmark for the conversations list (2/2) Add a Microbenchmark for the PeopleSpace activity (2/2)
| | * Show the Compose implementation of the footer actions when availableJordan Demeulenaere2023-01-111-3/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | This CLs shows the Compose implementation of the QS footer actions when Compose is enabled (it is not by default). Bug: 242040009 Test: Build with SYSTEMUI_USE_COMPOSE=true and use the footer actions buttons. Change-Id: I41a2a65fdf108849a8b2a7d381dab9d7d644f89a
| * | Restored the appearing behavior of media hostsSelim Cinek2023-01-091-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the disappearbehavior of media when transitioning between hosts got lost because we've directly set the media into the end state (QS) We're now instead avoid the media being put into the overlay and put it therefore into the final position. This also tunes the appear animation a bit to look better since we also removed that part. This largely reverts I9bcdb76b54c6303785a5783d84e876c162301b14 Bug: 263127182 Test: atest SystemUITests Change-Id: Ibadffe6faf9da8e5d8d9e1cc2e8b35e81285d056
* | | Merge tag 'android-13.0.0_r35' of ↵George Zacharia2023-04-031-73/+86
|\| | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 release 35 Change-Id: I709958b2f015d1774b2ece25894467c3a279f93c
| * | Refreshing state in QS with upcoming state of KEYGUARDMichal Brzezinski2023-01-041-11/+26
| |/ | | | | | | | | | | | | | | | | | | Transition to AOD was glitchy because many/all parts of QS were not aware we're transitioning to keyguard already (upcoming state) even though current state of StatusBarState still might not be there. This prevents QS becoming visible for a moment and then quickly disappearing when StatusBarState catches up with the upcoming state. Fixes: 258219778 Test: On large screen portrait, enable AOD and from unlocked state press power button. QS tiles should not be visible at any point. Merged-In: I0187f7bf0ee329d8f1ef7bb02bbcc5c69f14ec2a Change-Id: I0187f7bf0ee329d8f1ef7bb02bbcc5c69f14ec2a
| * Remove old footer actions implementationJordan Demeulenaere2022-12-071-45/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL removes the old implementation of the QS footer actions. The new implementation was turned on in http://ag/20139744 and didn't cause any regression. The tests that were removed in this CL are test cases that are already tested in FooterActionsViewModelTest or FooterActionsInteractorTest. Bug: 242040009 Test: atest QSFragmentTest Test: atest QSSecurityFooterTest Test: atest FooterActionsViewModelTest Test: atest FooterActionsInteractorTest Change-Id: I88413727a5f6ca37deea6333c411c1b9b7bffeeb
| * Merge "Prevent squishing of the QsMediaHost when not in split shade" into ↵Hawkwood Glazier2022-11-231-2/+4
| |\ | | | | | | | | | tm-qpr-dev
| | * Prevent squishing of the QsMediaHost when not in split shadeHawkwood Glazier2022-11-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QSMediaHost was being squished by QSFragment. This is the correct behavior for split shade as that media host is onscreen when the squishiness happens. But when split shade is disabled, then that view should not be squished. Bug: 232528163 Test: Manually checked the repro steps Change-Id: Ia5025ca0745ce82db9c99013768acbc210fd8b30
| * | Media doesn't clip based on shade footerHawkwood Glazier2022-11-211-3/+5
| |/ | | | | | | | | | | | | | | | | Padding moved to a different view in the QS hierarchy. This caused the wrong clipping to be computed and applied to the UMO. Fixes: 248562534 Test: Manually checked clipping of UMO on small device Change-Id: Ib3a39a43d0e54b229af97b7d484ce2ec55d2917c
| * QS in split shade should listen to changes earlierMichal Brzezinski2022-11-041-1/+7
| | | | | | | | | | | | | | | | | | This makes QS listen to changes and update itself immediately when expansion starts, compared to current state when state is updated only after full expansion is finished. Bug: 253162395 Test: QSFragmentTest Test: go to settings -> change brightness -> expand split shade and see brightness is updated immediately, before shade is fully expanded Change-Id: If1fb81ed3a0d0963fde83e95650c2b3b7663562c
| * Organize media control classesBeth Thibodeau2022-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move current media control classes under a new package, systemui.media.controls, with sub-packages - models (player and recommendation card types) - pipeline - resume - UI - util Test: build Test: atest com.android.systemui.media Bug: 241485754 Change-Id: I32667f50b1d35f2f807b8d437042a2d5c390e649
| * Merge "Make UMO squishy and add motion to widgets only for split shade" into ↵Sherry Zhou2022-10-131-0/+9
| |\ | | | | | | | | | tm-qpr-dev
| | * Make UMO squishy and add motion to widgets only for split shadeSherry Zhou2022-10-131-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Test: atest MediaCarouselControllerTest and MediaViewControllerTest Bug: 227478127 Change-Id: I4eae9413ae89950e1589487b2ff7c38e4ea8fa58
| * | Merge "Fixing QS blinking when going from unlocked to AOD in split shade" ↵TreeHugger Robot2022-10-041-8/+12
| |\ \ | | | | | | | | | | | | into tm-qpr-dev
| | * | Fixing QS blinking when going from unlocked to AOD in split shadeMichal Brzezinski2022-10-041-8/+12
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | The issue is no longer visible after some recent changes, but the core issue still remains: while transitioning from unlocked to AOD, alpha was following panel expansion while it should follow (newly named) mLockscreenToShadeProgress. This change doesn't modify things visually now but makes alpha as expected so likely to prevent this issue resurfacing in the future. Fixes: 246945311 Test: manual + QSFragmentTest Change-Id: I3762b2969d22dc500f5b63f222e059800117c168
| * / Making sure QS tile pages are reset when collapsing split shadeMichal Brzezinski2022-09-231-8/+7
| |/ | | | | | | | | | | | | | | | | | | | | | | Expanded state passed to QSPanelController was always true for split shade. Making it work as qsExpanded in QSFragment means controller can react to not expanded state correctly and reset tile pages. That required some extra changes in NPVC, otherwise QS expansion was broken when rotating between split and portrait shade. This should have been done some time ago already as QS expanded state is working properly in split shade, that is qsExpanded is true when split shade is expanded, false otherwise. Fixes: 247799702 Test: QSFragmentTest Test: expand split shade -> swipe to another qs tiles page -> close split shade and expand it again -> qs tiles should be back to the first page Change-Id: Id5865a18273e9e3becbdc3a85be975ea1e0dae7b
* | Merge tag 'android-13.0.0_r16' into t13.0George Zacharia2022-12-151-76/+184
|\| | | | | | | | | | | | | | | | | | | | | Android 13.0.0 Release 16 (TQ1A.221205.011) Also included the following reverts: 1. Revert "fw/b: Import Wi-Fi standard icon [1/2]" 2. Revert "Add preference for toggling the wallpaper zooming animation" Co-authored-by: Semavi Ulusoy <doc.divxm@gmail.com> Change-Id: I9a6b51e452c28d10411712c59778bb54da5783e9
| * Implement brightness slider unfurl in QQS->QS translation according to spec.Mike Schneider2022-09-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The main issue was that the brightness slider needed to have a set of different translations applied, with incompatible interpolators. This change simplifies the implementation to avoid the need for these different translations, ultimately solving the root cause of the issue. Some background on this change: - the mTranslateWhileExpanding is not used anymore - it was only set to true in split-shade mode, but then the expansion progress is always (hardcoded to 1) [http://cs/android-internal/frameworks/base/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java;l=2438-2441;rcl=21c205b93846470b2c4786361fe59e404a95ed6a], thus the animator never produces a translationY != 0. Thus removed it. - The mQSTileLayoutTranslatorAnimator is undoing the motion applied in [QSFragment](http://cs/android/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java;l=658;rcl=bbf0913e49af9615a0d9bf84835fe1725812f78e). The exception to this is the expanded-shade-edge-swipe-down on lock-screen, where QSAnimator would not compensate, since the animator gets [pinned to 1](http://cs/android/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java;l=654;rcl=bbf0913e49af9615a0d9bf84835fe1725812f78e). Now, just applying the motion in this case. This eliminates the implicit dependency between the two places, AND more importantly, removes the need to compensate for the motion with a linear interpolator. Bug: 203537805 Bug: 243261680 Test: Manual on phone and tablet (split shade) Change-Id: I85cef48fc9e695d32e67fa35b2a49f01c10b5293
| * [Large screens][Motion] Improve expansion timing on lockscreenChristian Göllner2022-09-131-11/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adds more xml resource configs to be able to more precisely control the expansion transition: - QS transition start delay - QS squish transition distance - QS squish transition start fraction - On split shade: - Fades in notifications scrim later - Fades in QS earlier - QS squshiness starts at 0.5 instead of 0 - On large screen portrait: - Fades in QS and notifications only after the behind scrim finished fading in - QS squshiness starts at 0.5 instead of 0 Change-Id: Id0941d11fe194c8be74f6101cf6f9f7d22888fc9 Test: QSFragmentTest.java Test: NotificationPanelViewControllerTest.java Test: ScrimControllerTest.java Test: LockscreenShadeQsTransitionControllerTest.kt Test: LockscreenShadeTransitionControllerTest.kt Test: Manually Bug: 239904136 (cherry picked from commit ae32ffdaedbe2acdf56cf8931063d468b1b93948)
| * Wire the new FooterActions implementation behind a flagJordan Demeulenaere2022-08-251-9/+114
| | | | | | | | | | | | | | | | | | | | | | This CL wires the new footer actions implementation from ag/19678215 behind a new SysUI flag. This flag will be enabled by default in a follow-up CL. Bug: 242040009 Test: atest FooterActionsViewModelTest Test: atest FooterActionsScreenshotTest Change-Id: If23711e400a86ad247666a1532cb17616c01ed85
| * [Split shade] Fix QS actions footer border visible on shade expansionChristian Göllner2022-08-101-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Also fixes the actions footer fading in too late on split shade The QS actions footer has its own background and elevation, which makes it become visible during the split shade expansion. The fix is to make sure that there different expansion values are used for the actions footer when on split shade, so that the background of the actions footer fades in later. Change-Id: I81dcba67b9473d9a8a4565dcdffd0a62f3817a50 Test: FooterActionsControllerTest.kt Test: QSFragmentTest.java Test: Manually Fixes: 240563302
| * Fixing media player clipped in shade in large screen portraitMichal Brzezinski2022-06-011-50/+0
| | | | | | | | | | | | | | | | | | Removing `pinToBottom` and `updateMediaPositions` functions which seem like they’re not needed anymore as `MediaHierarchyManager` is managing transition between QS and QQS. At the same time - as position of media player is managed from two different places at the same time - it’s causing weird vertical path with media player going too much down only to go back up at the end of the motion. Fixes: 220869154 Test: on large screen portrait with media playing go to shade, expand QS and see media player is not clipped during the motion Change-Id: If83c358bf5e4813398c3f2f24a52ec01c0e85499 Merged-In: If83c358bf5e4813398c3f2f24a52ec01c0e85499
| * Merge "Revert "Make media squishy for portrait shade open and close"" into ↵Lyn Han2022-05-251-1/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | tm-dev am: 5bcfb4c3fd am: 0dd9f89200 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18566290 Change-Id: I89bdf35e00f0e1c822720b153619a8daa7b453f4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| * \ Merge "Fix media side clipping on large screen portrait" into tm-dev am: ↵Fabian Kozynski2022-05-191-7/+8
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cf55babfa8 am: 1843c2653d Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18455154 Change-Id: I894fe8015a0fc4eec124babe13ef21de46a08675 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| * \ \ Merge "Do not use mStaleListener if tile is listening" into tm-dev am: ↵Fabian Kozynski2022-05-181-4/+28
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5834bd57e7 am: 4031509716 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18368340 Change-Id: I226a36b6168080d587f4245e5577e61fb0bf1278 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| * | | | Fix clipping of QS tiles in large screen portrait shadeyyalan2022-05-131-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the clipping bounds in large screen portrait to qs container padding + qs container margin. Also fixed qs_tiles_page_horizontal_margin so that it's the half of the clipping margin. Fixes: 228970271 Test: Manual Change-Id: Ia03e717d7fbc6665c56eef0c1d6cb3f681ad5790
* | | | | SystemUI: allow disabling qs on secure lockscreen[1/2]jhonboy1212022-10-261-1/+6
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | * This does not prevent pulling down notification shade, qs will be entirely hidden even if you do and that's it. Signed-off-by: jhonboy121 <alfredmathew05@gmail.com> Change-Id: Icc73e36c1024bbb4d956ae634ffdc0eff13a7bc1
* | | | Merge "Revert "Make media squishy for portrait shade open and close"" into ↵Lyn Han2022-05-251-1/+0
|\ \ \ \ | |_|_|/ |/| | | | | | | tm-dev
| * | | Revert "Make media squishy for portrait shade open and close"Lyn Han2022-05-241-1/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | This reverts commit 3f2eea4703f6ef26ab039c884dca54f76ee1fadb. Reason for revert: http://b/229046375 - slower shade open when shade is full Change-Id: I65d627310986cafd01e32ccaba4050c62b4c1253
* | | Merge "Fix media side clipping on large screen portrait" into tm-devFabian Kozynski2022-05-191-7/+8
|\ \ \ | |_|/ |/| |
| * | Fix media side clipping on large screen portraitFabian Kozynski2022-05-181-7/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | In large screen, the left bound is not 0. Instead, use the proper left bound so the media player will not be clipped on the right. This doesn't fix the bottom clipping as that's tied to the translation animation. Test: manual Bug: 220869154 Change-Id: I4b58853b6e9e4102fe6d2e5ff58b1551d8cf0bea
* / Do not use mStaleListener if tile is listeningFabian Kozynski2022-05-161-4/+28
|/ | | | | | | | | | | | | | In that case, just refresh the tile directly. This will schedule a new stale state. Additionally, make sure that QQS/QS are only listening when QS is actually visible. Test: atest SystemUITestsi Test: QSLog Fixes: 232427992 Change-Id: I44d8f23f1ceea37bcd479ee23c7cdd4b0c1c14e0
* Merge "[Bouncer] Fix translation speed for notifications." into tm-devAaron Liu2022-04-141-1/+1
|\
| * [Bouncer] Fix translation speed for notifications.Aaron Liu2022-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | Read bouncer state in order to determine when to use bouncer interpolation for alpha. Also rename boolean to be prefixed with is. Bug: 228831465 Test: Manual and unit tests Change-Id: I6f872db0655d04efae926fdd04e82a4aa460a408
* | Merge "QSFragment: fix NPE in setOverScrollAmount" into tm-devTreeHugger Robot2022-04-141-1/+4
|\ \ | |/ |/|
| * QSFragment: fix NPE in setOverScrollAmountChristian Göllner2022-04-131-1/+4
| | | | | | | | | | | | | | | | | | Sometimes this method can be called before the fragment view has been created. Adds a null check as a fix. Test: QSFragmentTest Fixes: 228991399 Change-Id: I950997fc35230196f855fd54fe23e0fb37ee9b9e
* | [Bouncer] Apply interpolation to udfpsAaron Liu2022-04-111-1/+1
|/ | | | | | | | | | Apply interpolation to udfps view controller when boucer is in transit. Also rename the function so that it implies that it affects all elements that need to hide in order to show the bouncer. Bug: 228282858 Test: Manual Change-Id: I27d192fb2576c8e02ac193eaee2836da4027c88f
* Merge "Remove FileDescriptor from systemui.Dumpable." into tm-devDave Mankoff2022-04-071-2/+1
|\
| * Remove FileDescriptor from systemui.Dumpable.Dave Mankoff2022-04-051-2/+1
| | | | | | | | | | | | | | | | | | | | This is the first step in moving over to the new public android.util.Dumpable api. Bug: 217567642 Test: m SystemUI Merged-In: Ibaebcfb2c6c5326d0c45b8c72d868c76655d89a0 Change-Id: Ibaebcfb2c6c5326d0c45b8c72d868c76655d89a0
* | Finish removing NEW_FOOTER flagFabian Kozynski2022-04-041-1/+0
|/ | | | | | | Test: atest SystemUITests Test: manual Fixes: 220344583 Change-Id: I0b188bba6846a4dd935747893232bafa41be3a7d
* Add better a11y support in QSFabian Kozynski2022-03-311-3/+3
| | | | | | | | | | | | | | | * Add ACTION_PAGE_LEFT/RIGHT to PagedTileLayout and proper focus after changing pages. * Add CollectionInfo to TileLayout and CollectionItemInfo to QSTileViewImpl to indicate the position of the currently focused tile. * Properly use ACTION_COLLAPSE/EXPAND in QSPanel/QuickQSPanel so the proper announcement is made, as well as the proper action is provided in the contextual menu. Test: manual Test: atest com.android.systemui.qs Bug: 204726862 Change-Id: I9bb085002c99e75ab0bb91f287ded62793b932bb
* Merge "Split shade: fix QS/Media briefly showing on AOD when locking the ↵Christian Göllner2022-03-311-1/+20
|\ | | | | | | screen" into tm-dev
| * Split shade: fix QS/Media briefly showing on AOD when locking the screenChristian Göllner2022-03-301-1/+20
| | | | | | | | | | | | | | | | | | | | When we lock the screen, QS are hidden by being moved up by the height of the QS header. This works on portrait, but on split shade QS uses the entire height of the screen, so this movement amount has to be adjusted. Fixes: 223770585 Test: Unit tests + Manually Change-Id: Ie82d75cc677da3567790887eab096d86afd6abd5
* | Merge "Add logging to QSFragment by implementing Dumpable" into tm-devChristian Göllner2022-03-301-2/+72
|\ \ | |/ |/|
| * Add logging to QSFragment by implementing DumpableChristian Göllner2022-03-301-2/+72
| | | | | | | | | | | | | | Fixes: 227185623 Bug: 220148766 Test: Bug report and checked the dumpsys section Change-Id: I76af03dfce5ee084306af596e840d392d4731c8f