summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-13.0.0_r52' of ↵George Zacharia2023-08-021-16/+19
|\ | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 Release 52 (TQ3A.230605.012) Change-Id: Ic80f318636f1f70bbd009504352ddde511d0dead
| * Use separate LogBuffer for QS config changesNicolo' Mazzucato2023-03-171-7/+10
| | | | | | | | | | | | | | | | There are a lot of messages logged in the QSLog LogBuffer. In some bugreports, the configChanged logs were not there anymore, as it was being overridden by others. We could have increased the size of the buffer, but using another separate one only for config changes increases the chances of having the logs we care about in bugreports. Bug: 272012567 Test: Checked bugreport after adding this new logbuffer Change-Id: I816b354a2530b54f418a13d0e2a309388a9146ec
| * Extract QSHost interfaceFabian Kozynski2023-02-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In preparation for refactor, extract the QSHost interface everywhere so access is done through it. This determines also the surface we may need to provide. Test: atest SystemUITests Test: atest android.host.systemui Test: atest CtsTileServiceTestCases Bug: 249804331 Change-Id: I660311eb60336ead6e5694c4e3e6099151dbaecc
| * Removing accessibility "Collapse" action from QS when in split shadeMichal Brzezinski2023-02-151-2/+2
| | | | | | | | | | | | | | | | | | | | This action resulted in broken QS state in split shade and didn't make much sense as QS can't be collapsed. Now this action is dependent on split shade state and is only announced in non-split shade. Fixes: 269462512 Test: QSPanelControllerTest Test: talkback on -> open split shade -> focus on QS -> tap with three fingers -> see no "Actions" in menu Change-Id: I007f0e87d41a36bd71c28d95f566335852e2e732
| * Restored the appearing behavior of media hostsSelim Cinek2023-01-091-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-11/+21
|\| | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 release 35 Change-Id: I709958b2f015d1774b2ece25894467c3a279f93c
| * Adding extra logging for tiles distribution across pagesMichal Brzezinski2022-12-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | There are a few things: - adding generic methods in QSLogger to be able to log simple messages without adding extra methods to it - moving all logging in PagedTileLayout to using QSLogger - for every case when we force tiles redistribution, we log reason why it is happening - adding temp logs for when tiles are not redistributed but maybe they should be - logging when split shade state has changed in QSPanelControllerBase Bug: 255208946 Test: just adding logging Change-Id: Ie0b165edbf1f79dfff78c55646e513d37cea67a3
| * Optimistic fix for tile not getting redistributed in split shadeMichal Brzezinski2022-12-061-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The issue is likely caused by QS tiles not getting redistributed in PagedTileLayout#onConfigurationChanged which does it only when orientation changes. One fix would be to remove that condition at all but then we would be redistributing for every configuration change or we'd need to make PagedTileLayout aware of split shade - none of these options seem good. So the solution here is to force redistribution from QSPanelControllerBase which is already aware of split shade and can listen to changes there. I'll also add more logs (in case bug is not fixed) in follow-up CL. Bug: 255208946 Test: there is no reliable way to reproduce the issue, we'll see if it stops happening Test: QSPanelControllerTest Change-Id: I81630b6eec16237a1a665982553dfc5b9dbac54b
| * Add QSlog for the background color change of the Internet TileYing Xu2022-11-111-0/+12
| | | | | | | | | | | | Bug: 250618218 Test: manual tests Change-Id: I9a20393cc86c27fbf11beccee64c9746a94900a6
| * 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
| * Fix QSPanel horizontal layout issue after unfoldingNicolo' Mazzucato2022-10-061-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QS (Quick Settings) layout could be horizontal or not. When it is horizontal, the media player is displayed on the side of QS. This is based on orientation, split shade state, and media player visibility. However the configuration changed lister was triggering the update only after orientation changed, neglecting split shade state. When a foldable device that is in the state "folded and landscape" is unfolded, the orientation stays the same, despite the split shade state changes. QSPanelControllerBase was updating the QS layout only if the orientation changed, neglecting other condition changes. Fixes: 216244185 Test: CorrectQSAfterUnfold QSPanelControllerBaseTest Change-Id: I7f1444adf477f75c267a48bf8f420d3507f82709
* | Merge tag 'android-13.0.0_r20' into t13.0Semavi Ulusoy2023-01-041-14/+15
|\ \ | | | | | | | | | | | | | | | Android 13.0.0 release 20 Change-Id: If4abc6a25843dbccba1fc3cc4250eb10b193f27c
| * | Fix QSPanel horizontal layout issue after unfoldingNicolo' Mazzucato2022-11-151-15/+15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QS (Quick Settings) layout could be horizontal or not. When it is horizontal, the media player is displayed on the side of QS. This is based on orientation, split shade state, and media player visibility. However the configuration changed lister was triggering the update only after orientation changed, neglecting split shade state. When a foldable device that is in the state "folded and landscape" is unfolded, the orientation stays the same, despite the split shade state changes. QSPanelControllerBase was updating the QS layout only if the orientation changed, neglecting other condition changes. Fixes: 216244185 Test: CorrectQSAfterUnfold QSPanelControllerBaseTest Change-Id: I7f1444adf477f75c267a48bf8f420d3507f82709 (cherry picked from commit 3e6a8bcf0d78f2ed6fc4c298c5d25ace21c11ac8) Merged-In: I7f1444adf477f75c267a48bf8f420d3507f82709
* | SystemUI: qs columns count settingsmaxwen2023-01-031-0/+27
| | | | | | | | | | | | and vertical qs tile layout settings (and resource config) Change-Id: I5b519ad62d17fec16400229264c66cbbde2a2031
* | Merge tag 'android-13.0.0_r16' into t13.0George Zacharia2022-12-151-1/+18
|\| | | | | | | | | | | | | | | | | | | | | 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
| * Revert "Make UMO squishy in split shade"Sherry Zhou2022-09-281-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9f4ec2cf7ead7e9bad5067fc235db41b334965ec. Reason for revert: cause unwanted squishiness in lockscreen media carousel Test: Manual Bug: 248657944 Change-Id: Ieba5ab8bcf3fbde42fe92a1c37ae1ab0ee3010ac
| * Simplify config changes and request media host layout updatesBeth Thibodeau2022-09-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Each QSPanelController* class had its own OnConfigurationChangeListener, in addition to an overridable method in the base class that was called in the listener - moved the child class listener code into that method so there's a single listener registered. - When reattaching the media host after an orientation change, explicitly call setLayoutParams to ensure that a layout update is requested - Add more info about current config to dumpsys Bug: 198319256 Test: atest com.android.systemui.qs Test: manual - verify media view looks correct when rotating Change-Id: I5b34ba85e98b4fbf8fe3b24893d0423146aa5f75
| * Log configuration once changed from QSPanelControllerBaseNicolo' Mazzucato2022-09-201-0/+9
| | | | | | | | | | | | | | | | This will aid the debug of b/216244185 Bug: 216244185 Test: grabbed a bugreport and made sure it's visible Change-Id: Iebe082f118cb7dcfc6a94b215deebba75d1ed2be
| * Make UMO squishy in split shadeSherry Zhou2022-08-311-1/+6
| | | | | | | | | | | | | | | | Test: MediaCarouselControllerTest Bug: 233237791 Change-Id: I543c187088c5623bb1e2d8d8814d11c83e575df1
| * Initialize horizontal panel as GONE and add logsBeth Thibodeau2022-08-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | The horizontal layout view should only be visible when the configuration has changed to landscape, so it should be initialized as GONE normally. Also add more logs to help debug if/when this layout changes. Bug: 198319256 Test: manual, verify correct behavior when rotating Change-Id: Ic338a0c7772410bdb0964e4686ac0283947e657c
* | SystemUI: brightness slider customisations [1/2]jhonboy1212022-10-261-1/+48
|/ | | | | | | | | | * Includes: * QQS slider visibility control * Auto brightness icon and visibility control * Slider position control (applies to both qs and qqs) Signed-off-by: jhonboy121 <alfredmathew05@gmail.com> Change-Id: I84c4556920b702cbfebed21140be04d1f26a874c
* Do not use mStaleListener if tile is listeningFabian Kozynski2022-05-161-0/+5
| | | | | | | | | | | | | | 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
* Remove FileDescriptor from systemui.Dumpable.Dave Mankoff2022-04-051-3/+2
| | | | | | | | | | 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
* Add better a11y support in QSFabian Kozynski2022-03-311-0/+8
| | | | | | | | | | | | | | | * 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
* Fix refresh tile when tile is already listeningFabian Kozynski2022-03-241-1/+6
| | | | | | | | | | | | | | Calling refreshTile externally on a tile that is already listening can have unexpected side effects, for example if the tile is tracking a user interaction (e.g. turning on bt). In particular, QSPanelController should not call it for tiles that are already listening. This is the case for tiles that are also in QQS. Test: manual, toggle bt ON in QQS and expand quickly. Test: atest com.android.systemui.qs Fixes: 225404999 Change-Id: Id0559ad95ecf6a28475abbdd8b989c745badd0b8
* Showing wider header/status bar in shade on large screenMichal Brzezinski2022-03-221-3/+3
| | | | | | | | | | | | Note: Because this change is already huge, I’ll do proper renaming of split shade header to large screen header in the follow-up CL. - introducing new config flag: config_use_large_screen_shade_header and using it to determine which header should be visible - Several adjustments to paddings and margins and how they are calculated on the fly, mostly from notification scrim and motion perspective. Recalculating scrim bounds relative to view bounds - cleaning Utils.java which got very wide-reaching over time. Some things were not used at all and some could be moved. I extracted some functions to two separate utils classes (also open to better ideas): QSUtils and LargeScreenUtils. Not ideal but at least better than one big Util. Fixes: 222472794 Test: expand shade on large screen device in portrait and see one row QS header taking full width of the screen
Test: NotificationPanelViewControllerTest + NotificationQSContainerControllerTest Change-Id: I4988c09c367c721ea9a957df8d1442fc65a336de
* Revert of revert: Motion - tweak split shade expansion on lockscreen with media.Christian Göllner2022-02-251-0/+10
| | | | | | | | | | Changes the transformation from fade to transition. Bug: 200806458 Bug: 218833796 Bug: 218833458 Test: Manually + Unit tests Change-Id: I995e9c0fc206d483ce3f8af8f5f308add1741e59
* Revert "Motion: tweak split shade expansion on lockscreen with media."Christian Göllner2022-02-241-10/+0
| | | | | | | | | | This reverts commit 36e1d8ebde4286390a5c4f350ec320ca336e4e1b. Reason for revert: Causes crashes expanding shade on lock screen without media. Change-Id: I998d4f6c214d49607f8081e2f51e876feed0943c Fixes: 221193561 Fixes: 221176472
* Motion: tweak split shade expansion on lockscreen with media.Christian Göllner2022-02-231-0/+10
| | | | | | | | | | Changes the transformation from fade to transition. Bug: 200806458 Bug: 218833796 Bug: 218833458 Test: Manually + Unit tests Change-Id: I762c9888bcb8fc62358b6c4ab8a70a4ece464e43
* Add more annotationsFedor Kudasov2022-02-151-0/+5
| | | | | | Bug: 209459024 Test: m SystemUI-core Change-Id: Ic3ac681a1cbf744d3592f1fa9dd164b60c0bfdc4
* Remove QSDetailFabian Kozynski2022-02-101-14/+1
| | | | | | | | | | | | Also remove related classes, calls, and resources that were used by QSDetail and are no longer needed. Test: atest SystemUITests Test: TileService cts tests Test: adb shell cmd statusbar expand-settings Fixes: 198796184 Change-Id: Ib5c54f197d03794aca35d0305e3e62c7daedb23a
* Merge "Add carousel size info to dumpsys"Beth Thibodeau2022-01-071-0/+3
|\
| * Add carousel size info to dumpsysBeth Thibodeau2022-01-071-0/+3
| | | | | | | | | | | | | | | | | | | | Adds the media size, location, and state to dumpsys. This should help debugging issues where the carousel doesn't display as expected. Bug: 198319256 Test: manual - dumpsys activity service SystemUI, verify info Test: atest QSPanelControllerBaseTest Change-Id: I76a88d583bd0dbee4a65af20c628ca0bf69671b3
* | Fix QS expansion animationsFabian Kozynski2022-01-041-0/+10
|/ | | | | | | | | | | | | | | * Fix gap between tiles when expanding * Fix second page collapsing animation: tiles now will shrink and at the end be replaced by QQS tiles. We need to create the animators as we move through the pages, as PagedTileLayout only has the current page and the (up to) two adjacent ones. This means that if the page has not been added, we don't have correct positions and measures. See bug for video Fixes: 207895040 Test: manual Change-Id: Id2b14b11ace4199ed07f7675b6575cb4b71e93d5
* Initialize TileRecord members in constructorFedor Kudasov2021-12-071-3/+7
| | | | | | Bug: 209459024 Test: m SystemUI-core Change-Id: I18a73b63552181c0b9b9034563b15eb062e44707
* Fix incorrect QS paddings after relayoutLucas Dupin2021-11-191-0/+4
| | | | | | | | | | Margin and padding calculation should actually be part of the layout pass, such as it cannot be out of sync. Test: pull down QS with Media on LS, split shade, launcher Test: atest QSSquishinessControllerTest Fixes: 204517562 Change-Id: I0001502f7c3368060e7b8fc93c753b05a8386aa6
* Use orientation value from config change eventBeth Thibodeau2021-09-231-3/+5
| | | | | | | | | | | Before, when the device was rotated we would get the new orientation value from the event but then use the value from getResources() to decide which layout to show. This discrepancy is a potential cause for an issue where QS uses the landscape layout when the device was actually portrait Fixes: 159737544 Test: atest QSPanelControllerBaseTest QSPanelControllerTest Change-Id: Icd15712cd4821b7833a3373978a92f8b5959ac12
* Fix brightness animation in split shadeMichal Brzezinski2021-09-211-0/+5
| | | | | | | | Implementing moving QQS brightness slider into position of QS slider in QSAnimator. In split shade most of QS slider animation is disabled as that slider becomes visible only at the end of the transition. Test: Open split shade -> expand quick settings -> admire brightness slider moving to the new position Bug: 196957888 Change-Id: I63bb6f01723d85b1b8080b1d4ccbaa15db4a0ba5
* Refreshing visibility of QS elements whenever configuration changesMichal Brzezinski2021-08-251-2/+2
| | | | | | | | | Previously visibility was refreshed only when rotation happened but we want to handle other cases as well, e.g. switching screens. Also unifying refreshVisibility methods for both footer and brightness slider. Fixes: 195922194 Test: manual Change-Id: I05a8ac29df117a0d7b2e6df22ccd62cea80bb12b
* Remove feature flag for split shadeAlex Florescu2021-07-201-7/+3
| | | | | | | | | This is still controlled by a config, that can be disabled in overlays if needed, but otherwise will be enabled by default for sw600dp-land Bug: 192077858 Test: manual Change-Id: I90eacc33bb05c954ca1015394110558fa911bb04
* Showing brightness slider in collapsed QS in split shadeMichal Brzezinski2021-07-191-1/+4
| | | | | | | | | | | This is first step of showing brightnesss slider - this change just makes it appear and actually working. It doesn't cover: - animation between collapsed slider and expanded slider - showing slider mirror (disappearing background when changing brightness) Bug: 193651759 Test: QuickQSBrightnessControllerTest Change-Id: I21e71e3204352a3801386924f33094e029ac3da8
* Fixed an issue where media could become invisibleSelim Cinek2021-07-071-0/+20
| | | | | | Fixes: 192939241 Test: follow steps on bug, observe media visible Change-Id: I41fee551e97418640a054f6ee0152ec337172c56
* Use only a single TileLayout in QSPanelFabian Kozynski2021-06-291-10/+2
| | | | | | | | | | | | | The layout is the same regardless of the media configuration for both QSPanel and QuickQSPanel, the only thing that changes is the number of columns/rows. Remove code maintaining two possible TileLayouts, including code that destroyed and recreated the views. Test: manual, change orientation with and without media Fixes: 191948961 Change-Id: I80356b5dde787722cbae3a5eb757a5d458529a29
* Animating the qs / notification bounds now when dismissing mediaSelim Cinek2021-06-281-2/+15
| | | | | | | | | Previously the bounds animation was on the background which doesn't exist anymore. Fixes: 192059748 Test: add media, dismiss, observe normal animation Change-Id: I0f90b3ca5224b538c62adf30081ad30ed906b3b1
* Remove divider between QSFooter and mediaFabian Kozynski2021-05-051-8/+0
| | | | | | | | | Also, set gap between QSFooterView (or QSSecurityFooter) and media to 8dp. Fixes: 187316973 Test: manual Change-Id: Ie0ab67ac298951f749025d6699d302c27b0e6a80
* Animate activities launched by QS click (1/2).Jordan Demeulenaere2021-04-211-1/+1
| | | | | | | | See b/185892236#comment3 for before/after videos. Bug: 185892236 Test: atest QuickAccessWalletTileTest DeviceControlsTileTest AlarmTileTest Change-Id: I539921777ab516bd35ba809f818fe02092325e78
* Remove QS flagFabian Kozynski2021-04-141-4/+1
| | | | | | | | Completely remove the flag and clean up old layouts and some old code. Test: manual Bug: 185250134 Change-Id: I539de8f3a80814b2e386d7ebbf7013d4f60ef67e
* Pass the context from QS into QSFactory#createTileViewFabian Kozynski2021-04-021-2/+1
| | | | | | | | This way, we guarantee that the theme is the same in all of QS Test: manual Bug: 183953523 Change-Id: Ia03171194d8c90358730fcacb9ea7dcf61d4dbed
* Reduce log importance and improve loggingFabian Kozynski2021-03-301-0/+3
| | | | | | | | | | The first time after QS is created, there are no tiles to animate, so we should skip logging that we cannot find each tile. This is ok. Otherwise, warn when we cannot find a tile that should be there. Bug: 181269159 Test: build and check log Change-Id: I7e60ba9ce5fd8ca9dc0b1e0b5a6180249c741db4
* Cache value of shouldUseSplitNotificationShadeAlex Florescu2021-03-181-1/+6
| | | | | | | | | | | | This only changes when the flag value changes (which can happen at any time, but is strictly for development so we can ignore) or the value of the boolean resource changes, which only happens on configuration changed. Instead of checking every time, we can cache the last known value and update on configuration changes. Bug: 182254944 Test: manual + atest SystemUITests Change-Id: Iae54b7680ebfc84c48139bd21e3c7670739802a5