Commit Graph

37 Commits

Author SHA1 Message Date
Vinit Nayak ea12af617e Merge "Add support for taskbar phone 3 button seascape" into udc-qpr-dev 2023-07-06 23:18:07 +00:00
Vinit Nayak 15a9feb67f Add support for taskbar phone 3 button seascape
* Ignore orientation check from ag/22709055 for now,
that will be reverted. This causes recreateTaskbar() to
not run when folding the device

Bug: 274517647
Test: Tested 3 button nav in portrait/landscape/seascape
Flag: persist.wm.debug.hide_navbar_window
Change-Id: Ied02ead677d496b465c748257e32b7db5eb9580c
2023-07-06 13:58:30 -07:00
Liran Binyamin c06c7ff6fa Update the bubble bar offset on Home
This is an initial change that positions the bubble bar aligning it
with the center of the hotseat icons. We still need to center it
with the taskbar when in overview.

This change also fixes the touch issues where sometimes the hotseat
icons don't respond to taps. The fix is twofold:

1. Make sure that taskbar insets are always updated when
   BubbleStashController#setBubblesShowingOnHome is called.
2. Update the touchable region in TaskbarInsetsController to account
   for the Y translation of the bubble bar bounds when the bubble
   bar is visible.

Demo: https://screenshot.googleplex.com/6NRyu2CR7Bjs32x

Bug: 286247080
Test: Manual on a physical device
Change-Id: I00daff8341e4d8f5d141b5e0220726f6c03b437c
2023-07-05 17:29:52 -04:00
Mady Mellor 6dea6d1624 Modify Taskbar code to accommodate bubble bar gesture to stash/unstash
* Bubble bar typically follows the behavior of taskbar - if taskbar
  is shown, the bubble bar is shown, if taskbar hides, bubble bar
  hides.
* The bubble bar has 3 states: stashed, collapsed (unstashed but
  the bubbles are not expanded), and expanded. When bubbles are
  expanded, this means WMShell is rendering the bubble
  expanded view. In this situation taskbar becomes collapsed.

Bug: 253318833
Test: manual - flag turned on - see go/bubble-bar-tests
Test: manual - flag turned off:
             - launch an app, ensure taskbar is stashed
             - unstash taskbar, drag down on taskbar, ensure it
               becomes stashed
             - be in an app, unstash taskbar, interact with the app,
               ensure taskbar is stashed
             - be in an app, unstash taskbar, select an app from it,
               ensure taskbar is stashed & app is opened
Flag: WM_BUBBLE_BAR
Change-Id: I7b481d768182c8429160ab4a9b213b885a7d78bc
2023-05-23 14:02:50 -07:00
Yunfan Chen 43c4511b13 Migrate the insetsRoundedCornerFrame to InsetsFrameProvider
The server side has moved the InsetsRoundedCornerFrame into
InsetsFrameProvider as it is actually using a given type of insets frame
to calculate the new rounded corner information and moving it into the
corresponding provider would make it cleaner.

To make sure it can be updated and accessed properly,
TaskbarInsetsController is now holding the nav bar insets provider to
make the update. It will be used always even if the height has been
updated. Other necessary changes are made to reflect the change.

Test: DisplayPolicyInsetsTests
Test: m
Bug: 274724339
Change-Id: Iec6804a01bafbbaed8591694490f29c97ea7e7fc
2023-05-16 06:53:33 +00:00
Treehugger Robot 52d4764576 Merge "Revert "Modify Taskbar code to accommodate bubble bar gesture to stash/unstash"" into udc-dev 2023-05-11 20:58:02 +00:00
Mady Mellor 662787540c Revert "Modify Taskbar code to accommodate bubble bar gesture to stash/unstash"
This reverts commit 7344766886.

Reason for revert: b/282035015

Change-Id: I38db287f730048d3e1e5041f1853bdae214e1a66
2023-05-11 18:50:35 +00:00
Thales Lima fda9f3d430 Merge "Make taskbar touchable region smaller in Overview" into udc-dev 2023-05-11 14:48:18 +00:00
Thales Lima 3bc763f5a3 Make taskbar touchable region smaller in Overview
While in overview, makes the touchable region smaller so touches can go to the window below and trigger tapping on overview to go home.

Bug: 269985301
Test: Manual (TAPL in a following CL)
Flag: none
Change-Id: Ie8c7719090c387f951d78cf0fc47e6d9ed192f27
2023-05-11 14:45:41 +00:00
Mady Mellor 7344766886 Modify Taskbar code to accommodate bubble bar gesture to stash/unstash
* Bubble bar typically follows the behavior of taskbar - if taskbar
  is shown, the bubble bar is shown, if taskbar hides, bubble bar
  hides.
* The bubble bar has 3 states: stashed, collapsed (unstashed but
  the bubbles are not expanded), and expanded. When bubbles are
  expanded, this means WMShell is rendering the bubble
  expanded view. In this situation taskbar becomes collapsed.

Bug: 253318833
Test: manual, with other CLs, see go/bubble-bar-tests
Flag: WM_BUBBLE_BAR
Change-Id: Ic210c382e7482c259ae543a0dc083fe9305cbf5b
2023-05-09 12:37:14 -07:00
Brian Isganitis 9c311b2917 Keep persistent Taskbar visible over Taskbar All Apps.
Additionally, this CL fixes some touchable insets issues with the
overlay window. Dragging and dropping is now reliable from taskbar while
All Apps or EDU is also open.

Change-Id: Ia612c1b5266a8fb2b7005a773fbd2b00ec4824db
Bug: 279465803
Bug: 275890048
Bug: 264463659
Flag: PERSISTENT_TASKBAR_OVER_TASKBAR_ALL_APPS (Teamfood)
Test: Taskbar is functional over All Apps and EDU.
2023-05-04 23:54:27 -04:00
Tony Wickham 3cfada0a00 Simplify/correct Taskbar insetsRoundedCornerFrame calculation
Now we base it on the current tappableElement insets, which will only be
> 0 for the unstashed, persistent taskbar which draws rounded corners.
This inset also stays stable during temporary stash transitions such as
when the IME is showing.

Flag: ENABLE_TRANSIENT_TASKBAR=true, ENABLE_TASKBAR_PINNING=true
Test: in split screen for both transient and pinned (persistent)
taskbar, ensure split screen divider bottom is drawn appropriately
Fixes: 278028503

Change-Id: Iab56c5dc8f9fc81c34aa01f41b5212dd5c6fd7f0
2023-04-28 23:51:41 +00:00
Tiger 5624523835 Always suppress scrim for taskbar
Taskbar never needs a semi-transparent scrim drawn by the decor view at
the insets area, because taskbar has the background color on its own if
needed.

Bug: 197615177
Test: SystemUIGoogleBiometricsScreenshotTests
Change-Id: Ic49c8af3ecbefcc83d1bd987812625c7e2f37157
2023-04-13 12:32:02 +00:00
Winson Chung 3d03a208ac Always provide mandatory bottom gesture insets
Bug: 265614886
Bug: 277185135
Test: atest WindowInsetsPolicyTest
Change-Id: I964e0b759170c127cb05615ce5bf6fa827621187
2023-04-06 16:43:16 +00:00
Winson Chung 711189df8c Fix gesture insets issue for IMEs
- Setting the override frame for the gesture insets sources prevents
  the insets from being calculated correctly for the IME window
- Update the set of provided insets based on the current nav mode
  so that we don't report gesture insets in button nav

Bug: 265614886
Test: Dump IME window insets for button/gesture nav
Change-Id: I22f9d09a66b50d6e2fb5002af19058657a06404d
2023-03-31 19:41:51 +00:00
Tiger 1529a53d46 Use public types to setup InsetsFrameProviders of taskbar
This is a step to remove ITYPEs.

Bug: 234093736
Test: atest DisplayPolicyLayoutTests InsetsPolicyTest SizeCompatTests
      DisplayContentTests DisplayPolicyTests WindowStateTests
      LetterboxUiControllerTest TaskLaunchParamsModifierTests
      WindowContainerInsetsSourceProviderTest
Change-Id: I6520540e4d8799e3306a65fcbfb1627a19f4028b
2023-03-02 13:06:01 +08:00
Jordan Demeulenaere be82bc661c Format files with the upcoming version of ktfmt
This CL was generated automatically from the following command:

$ external/ktfmt/prepare_upgrade.py --repo=packages/apps/Launcher3/ --build_id=9645412 --bug_id=266197805

This CL formats all files already correctly formatted with the upcoming
version of ktfmt.

Bug: 266197805
Test: Presubmits
Change-Id: Ide7d63a75fed98aabe348821355356c77f00a9ec
Merged-In: Ide7d63a75fed98aabe348821355356c77f00a9ec
2023-03-01 09:11:48 +00:00
Winson Chung 0371d0f699 Only call per-user calls for gesture settings observer
Bug: 231648761
Fixes: 269392826
Test: Unable to reproduce 269392826, but verified this doesn't
      break existing paths to adjust the insets
Change-Id: I8aa82f3fb77e627ac02352ef31b788b81c2ca901
2023-02-17 19:44:29 +00:00
Tony Wickham fc97f74e82 Have Taskbar report left/right gesture insets
Fixes: 231648761
Test: output from adb shell dumpsys activity service
TouchInteractionService, specifically TaskbarInsetsController

Change-Id: I8ed7fefb482bd4f73d2b2026ccb4ac369b6321ab
2023-02-14 04:43:01 +00:00
Thales Lima 03ac377a34 Check kotlin format before uploading
This uses ktfmt on the PREUPLOAD hook to check file formatting.

Bug: 264851618
Test: manual
Change-Id: I8bdeabd9c1ed571a464707e6912419ad3190a169
Merged-In: I8bdeabd9c1ed571a464707e6912419ad3190a169
2023-01-10 13:24:43 +00:00
Tony Wickham c6a7ba8163 Adjust taskbar VIS and bottom mandatory gesture insets
- ITYPE_BOTTOM_MANDATORY_GESTURES should always be > 0  in gesture
  navigation mode, but before we were setting it equal to tappableHeight
  which is 0 if the taskbar is stashed. Fixed it to be contentHeight
  instead.
- Updated VIS insets to only override them to be 0 for tappableElement,
  not for others like navigationBars. We still only override this for
  gesture navigation; 3 button mode will continue reporting the same as
  we report to the underlying apps.

Test: manually with 3 button mode, gesture nav mode with taskbar
stashed/unstashed; checked that TaskbarInsetsController dump looks as
expected, and that behaviors like Assistant and IME look correct
Flag: none
Fixes: 262516176

Change-Id: I5a1cdf5a9956777d3189ef6042493e2f5aa9b162
2022-12-15 22:28:40 +00:00
Jon Miranda 106cc895e9 Allow touches on transient taskbar if ime is present.
Bug: 260101467
Test: open chrome, enter url to pull up ime, swipe up to show taskbar,
      tap on taskbar icon

Change-Id: Ic8be6c2bb82fc9b8ab83572cb8622ac157078ea9
2022-11-29 11:30:39 -08:00
Thales Lima 994b181676 Merge "Remove KtR workaround" into tm-qpr-dev 2022-10-19 14:04:48 +00:00
TreeHugger Robot c9928a1ddf Merge "Implement overlay window for Taskbar EDU and All Apps." into tm-qpr-dev 2022-10-19 14:01:56 +00:00
Thales Lima e9d4044483 Remove KtR workaround
Bug: 229947409
Test: m -j128 Launcher3QuickStep Launcher3QuickStepGo Launcher3 Launcher3Go NexusLauncherRelease NexusLauncherDebug SearchLauncherQuickStep SearchLauncher LauncherGoGoogle
Change-Id: I5792cc6b30dfa856747a1576ef3cb195952c25c7
(cherry picked from commit 51e164688e)
Merged-In: I5792cc6b30dfa856747a1576ef3cb195952c25c7
2022-10-18 13:06:23 +00:00
Vinit Nayak d6c5147524 Landscape 3 button nav on taskbar phone supported
* TODO: Seascape bar positioning, add tests

Change-Id: I542be2f2f682d8c8a9cdd9bb6c667c44ca167f3e
Merged-In: I542be2f2f682d8c8a9cdd9bb6c667c44ca167f3e
2022-10-17 13:59:18 -07:00
Brian Isganitis 2d6371aa34 Implement overlay window for Taskbar EDU and All Apps.
Having EDU in the same window as Taskbar causes it to be above All Apps
and other system views such as the notification tray. This change
refactors the existing All Apps window to accomodate more AFVs so that
EDU can also exist in it.

Demo: http://shortn/_Qcki3gwvf7

Test: Manual
Fix: 232177330
Change-Id: I1bef31d798041a90a0c3e033e71be63898fa5fbc
2022-10-14 22:36:14 +00:00
Alex Chau 2e72e4cda6 Fix taskbar in overview touch and stash behavior
- When taskbar is unstashed in Launcher (e.g. overview), make the unstashed height touchable
- When AllApps button is pressed in taskbar overview, also stash taskbar

Bug: 245320601
Test: manual
Change-Id: Iadd0bea13cf9a779c68e953d25f21f663c15865a
2022-10-06 21:37:56 +01:00
Winson Chung 3f649ef892 Update Launcher for removed shared wrappers
- Launcher can reference system code directly now

Bug: 219861883
Test: Builds/Presubmit
Change-Id: I3f656b6c7fce93243ccb7591e52441e99137dec6
Merged-In: I3f656b6c7fce93243ccb7591e52441e99137dec6
2022-09-14 17:14:32 +00:00
Tony Wickham fd170e25cb Provide 0 insets to VoiceInteractionWindow in gesture nav
Test: Invoke assistant on tablet on both geture nav and 3 button mode;
In gesture nav mode: assistant shows at the very bottom of the screen,
layered on top of the taskbar background (in z order)
In 3 button mode: assistant shows right above the taskbar, which only
shows the 3 buttons (no taskbar icons) while assistant is showing
Fixes: 225200928

Change-Id: I2fbc05e696b58e8801e704092aa2741cb57c05c4
2022-07-13 10:33:12 -07:00
Yunfan Chen 7f6eb29b9a Provide IME insets with insetsSizeOverrides
The frameworks extended the API to let window provide insets to given
typed window with insetsSizeOverrides. Migrate to the method to
provide insets for IME.

Test: build
Test: the IME can receive correct insets
Bug: 225200928
Change-Id: Ic8eab5198221bc8de6eca432e8b3e11067c83d57
2022-07-01 13:03:09 +09:00
Yunfan Chen a34340ef3a Modify the way of providing insets per WM change
The WM provides a new way to provide insets, modified the code to
reflect that change.

Bug: 161689946
Test: m
Merged-In: I31bd26a5ce4c3e47f8961d4fe528f3a97ec063f8
Change-Id: I31bd26a5ce4c3e47f8961d4fe528f3a97ec063f8
2022-06-07 17:13:47 +09:00
Alex Chau 4eebbac3b7 Use DeviceProfile.widthPx to initialize Taskbar touchableRegion
- TaskbarDraglayer.width isn't initialize when Taskbar is recreated before layout, so use DeviceProfile.widthPx instead
- Also listen for DeviceProfile change in TaskbarInsetsController to update Taskbar touchableRegion

Fix: 233316713
Test: Switch to 3 button, nav button works. Swtich to gesture nav, taskbar icon can be tapped
Test: Rotate deice, whole Taskbar should still be touchable
Change-Id: I29ff86fd8616a620f98d9b5438cc586bd69fac33
2022-05-27 18:35:26 +01:00
Vinit Nayak 2cb5cb5d00 Report ITYPE_BOTTOM_MANDATORY_GESTURES insets for Taskbar
Bug: 205493938
Change-Id: I196bc52c1bec75b5442f3546f466799ba9c3831b
2022-05-16 21:38:28 -07:00
Tony Wickham f286f9cb98 Address a couple small followups for TaskbarInsetsController
- Added no-op onDestroy()
- Reformated some if conditions, also adding
  AbstractFloatingView.hasOpenView()

Test: TaplTestsTaskbar
Bug: 215411414
Change-Id: I89b39ca5fabd03f5ac0f25d6ef69170683cf060d
2022-04-21 16:16:02 +00:00
Tony Wickham a681cf6abe Migrate from InsetsInfo.contentInsets to WindowManager.LayoutParams#providedInternalInsets
- This allows us to distinguish taskbar's ITYPE_EXTRA_NAVIGATION_BAR insets from its ITYPE_BOTTOM_TAPPABLE_ELEMENT insets
- Set nav bar insets as before (contentInsets)
- Set tappable elements insets the same, except when taskbar is stashed, in which case set to 0

Test: TaplTestsTaskbar; manually stash/unstash taskbar, open IME, open Calculator (which uses tappableElement() insets) and Contacts (which uses systemBars())
Fixes: 215411414
Change-Id: If00f7a590b0780715d5b8159f5135054364ce84e
2022-04-21 16:15:41 +00:00
Tony Wickham 36c9d888d8 Move taskbar insets logic to TaskbarInsetsController
Test: TaplTestsTaskbar; manually stash/unstash taskbar, open IME
Bug: 215411414
Change-Id: I73622dc020c4f8c8b3d317fcb1dd072bcfc3d274
Merged-In: I73622dc020c4f8c8b3d317fcb1dd072bcfc3d274
2022-04-20 19:27:48 +00:00