Commit Graph

62 Commits

Author SHA1 Message Date
Jon Miranda
8ed5ac05fd Merge "Revert "Revert "Add a way to stash/unstash transient taskbar.""" into tm-qpr-dev 2022-11-03 05:58:38 +00:00
Jon Miranda
575d699edc Revert "Revert "Add a way to stash/unstash transient taskbar.""
This reverts commit afc3bff10b.

Reason for revert: fixing launcher tests broken by original change

We'll only add flags for transient taskbar case

Bug: 256988243
Bug: 256987492
Change-Id: I8915ef5345816316bfb71efc9fc667e4e8db824c
2022-11-02 11:07:27 -07:00
Sam Dubey
de5d5720a1 Merge "Revert "Add a way to stash/unstash transient taskbar."" into tm-qpr-dev 2022-11-02 10:03:06 +00:00
Sam Dubey
afc3bff10b Revert "Add a way to stash/unstash transient taskbar."
This reverts commit 6163e2d39f.

Reason for revert: Part of Platinum+DM rotation for testing as likely culprit for breaking launcher tests on tablet. Won't be commited until proven otherwise.

Bug: 256988243
Bug: 256987492
Change-Id: I21b3561f489e17c48131d2223a7d90267968232f
2022-11-02 09:16:55 +00:00
Jon Miranda
b95c4ff849 Merge "Add a way to stash/unstash transient taskbar." into tm-qpr-dev 2022-11-02 05:02:22 +00:00
Jon Miranda
6163e2d39f Add a way to stash/unstash transient taskbar.
- Adds threshold to show taskbar during swipe
- Introduces FLAG_STASHED_IN_APP_AUTO flag
- Adds logic for taskbar to auto hide based on time
  and touch

Bug: 252905206
Test: manual
Change-Id: I070cd619487fdd4498a988ae5aadce6dd14313f7
2022-11-01 16:03:01 -07:00
Thales Lima
b1d991b3de Merge "Calculate taskbar content size for edu" into tm-qpr-dev 2022-11-01 17:57:53 +00:00
Mady Mellor
10856068bc Remove floating task button from taskbar
Not POR to have a button in taskbar for this so removing this bit
of the prototype.

Test: manual - enable floating tasks on tablet and check if there's
               a button in taskbar (there shouldn't be).
Bug: 237678727
Change-Id: Ifb57f6528946f89592649afda84101e4f9cbb198
2022-10-31 11:56:14 -07:00
Jon Miranda
661f38cdb8 Merge "Add transient taskbar UI" into tm-qpr-dev 2022-10-26 14:56:15 +00:00
Merissa Tan
fcb9cb7664 Move AllAppsButton placement for desktop environment.
On desktop environment, we want the AllAppsButton to be on the left side
of the taskbar instead of the hotseat, but retain the functionality of
the button.

Bug: 251372204
Test: Manual
Change-Id: Ia2c95a20583cb98785ab6f8c719559d93982c06f
2022-10-25 14:26:07 -07:00
Jon Miranda
184a04266d Add transient taskbar UI
This change is only for the visual appearance of the
transient taskbar.

Bug: 252905206
Test: manual
Change-Id: I4990b20b39089a0c27ec2a72dd3010cf64ddba1d
2022-10-25 13:46:19 -07:00
Sunny Goyal
fc1928e324 Optimizing some icon generation code:
1) Fixing missing shadow from shortcut icons
2) Chaning all-apps icon rendering to draw background/foreground separately
   This allows us to reuse the bitmap generated for themed icons, instead of
   creating a new everytime

Bug: 248308987
Test: Verified on device
Change-Id: Ia3cbefb21a2ce676d6bb2df3d9375d61b5bed61b
2022-10-20 10:40:54 -07:00
Thales Lima
a64a914ddf Calculate taskbar content size for edu
Using the value calculated in layout was not working because TaskbarView onLayout() was being called after TaskbarEduView onMeasure(). Now uses the same value on all orientations based on taskbar icon size.

Fixes: 252945031
Test: manual
Change-Id: Ib6914901638c82f3b3ec4c9b86f6c20e84d34d0f
2022-10-20 11:48:06 +01:00
Mady Mellor
78c899314e Add a button for floating tasks to taskbar (behind a flag)
Test: manual - build launcher3, enable the feature flag on tablet with
               a valid app installed, open an app, observe that there
               is NO button in taskbar because launcher3 doesn't have
               populated config
Bug: 237678727
Change-Id: Ic261608898eb9a9220cffacd0c6060a32c10a74f
2022-09-20 10:41:12 -07:00
Alex Chau
206ede9c1f Adjust height of tablet AllApps base on row height
- Also used hotseatQsbHeight for AllApps QSB height as they have to match to transform between each other

Fix: 232907846
Test: manual on different tablets
Test: atest DeviceProfileTest
Change-Id: I001d0e129db2a5de6c8ace4c3302381110da03f1
2022-08-03 15:29:22 +00:00
Pat Manning
26f70f777e Add DeviceProfile tests on all attributes across different configurations.
Fix: 237542518
Test: DeviceProfilePhoneTest.kt
Test: DeviceProfileVerticalBarTest.kt
Test: DeviceProfilePhone3ButtonTest.kt
Test: DeviceProfileVerticalBar3ButtonTest.kt
Test: DeviceProfileTabletLandscapeTest.kt
Test: DeviceProfileTabletPortraitTest.kt
Test: DeviceProfileTabletLandscape3ButtonTest.kt
Test: DeviceProfileTabletPortrait3ButtonTest.kt
Test: DeviceProfileTwoPanelLandscapeTest.kt
Test: DeviceProfileTwoPanelPortraitTest.kt
Test: DeviceProfileTwoPanelLandscape3ButtonTest.kt
Test: DeviceProfileTwoPanelPortrait3ButtonTest.kt
Change-Id: I1596dcd1fb8c9b353cdfcab224d7670d88bed716
2022-07-12 14:17:18 +01:00
Alex Chau
c1d26448c5 Animate inline QSB between home and apps
- Added a QSB to taskbar to be animated between inline QSB and taskbar
- Passed endValue of taskbar animator to TaskbarController to have aniamtion variation between home -> app and app -> home
- Tuned duartion of taskbar animation and also stagger animation when taskbar is present
- Disabled scaling down of taskbar and inline QSB for home -> app
- Disabled stagger animation of taskbar and inline QSB for app -> home

Bug: 220733187
Test: manual
Change-Id: I4aac0bbc343b992a0472298595770e2bf2a55990
2022-06-15 22:12:29 +01:00
Sunny Goyal
32084d49d3 Replacing ItemInfoMatcher with predicate
This removed unnecessary componentName lookups when it
is not required. Many checks just rely on IDs and
userHandle

Bug: 231153610
Test: Presubmit
Change-Id: Ief93954abc5861062a9f55dc2ef181d3de106c62
2022-05-03 10:07:22 -07:00
Tony Wickham
81bff9becd Disallow long press below taskbar icons
Test: long press below icons, doesn't stash; can still swipe up
Fixes: 201239461
Change-Id: Ifdf355138d7958c0442814d968f0722f54e12ae1
2022-04-20 13:58:53 -07:00
Sebastian Franco
5282efddc9 Brighten theme-icons when in Dark mode and add dark color for taskbar
Bug: 217247494
Test: change between dark and light mode and transition in and out of apps
Change-Id: Ia5e38d674a56eb95a48cb1e8c2688586594a69f9
2022-03-23 10:47:52 -07:00
Tony Wickham
a56a197e14 Properly animate canceled deep shortcut drag back to original icon
- Added getFirstMatch() instead of using mapOverItems() (was a bit cleaner using ItemInfoMatcher)
- Match based on package name / UserHandle for deep shortcuts case

Test: drag deep shortcut from taskbar icon, inside folder, inside all apps; drag regular icons as well
Fixes: 222574524
Change-Id: Id5fdee29110f143c1125edc6945af09ab0a8d8ce
2022-03-04 00:39:38 +00:00
Winson Chung
6992855742 Merge "Add basic return animation when drag is canceled" 2022-02-09 19:32:22 +00:00
Winson Chung
d937831791 Add basic return animation when drag is canceled
Bug: 179390870
Test: Drag, but don't drop to split an app from the taskbar and
      check that Launcher animates the surface back into place
Change-Id: I726855ff5bdffd1fc58d2839b3cc44b3fdb131e9
2022-02-09 06:44:21 +00:00
Jon Miranda
daa3150b9c Move All Apps button to the left in RTL.
Bug: 205803230
Test: verify LTR
      force RTL using developer option
      verify All Apps button is in the left
      verify All Apps button moves left before fading out

Change-Id: I2a5be9b37f471bfaa1a92f6819e04274e4dfb7a1
2022-02-07 14:08:47 -08:00
Jon Miranda
fd48b0c988 Add All Apps entry button to Taskbar.
- Opens All Apps when clicked
- Fades button in/out when transitioning b/w Hotseat & Taskbar

Bug: 205803230
Test: manual
      ensures alpha gets reset properly
      clicking button opens all apps
Change-Id: I1b96bae734aa9fd9308931d6312e3d65559d4284
2022-01-31 17:22:58 -08:00
Schneider Victor-tulias
5173fd8090 Add notification dots and popup menu notification support to the taskbar.
- Added support for notification dots
- Added support for notifications in popup menu
- Added support for dismissing notifications from the popup menu

Bug: 198438631
Test: long pressed launcher and taskbar icons, clicked notifications, clicked shortcuts
Change-Id: I7c981e60a82b4d6ce28332d804bbbfb5eb89c6a8
2021-11-15 14:47:36 -08:00
Tony Wickham
42b0395fee Fix some taskbar stashing issues
- Don't allow long press to stash between taskbar icons
- Ensure taskbar_icon_touch_size is respected; previously it wasn't, because BubbleTextView@shouldIgnoreTouchDown() was returning true in the padding region. For taskbar, we want the whole icon size to be touchable.
- Cancel long press when passing touch slop to avoid swipe down being detected as long press

Test: long press on taskbar background, both between icons and not; swipe down on taskbar
Fixes: 198305464
Change-Id: I36f1d792e91da9a3bf57a2bef1e974b299c4e25c
2021-08-31 14:06:09 -07:00
Android Build Prod User
2d5a8dc847 Merge changes Ib2bc8419,Ia41cb0e3,I43bfbc41 into sc-v2-dev
* changes:
  Animate PredictedAppIcon when its icon changes
  Add "wave" animation when entering taskbar edu
  Add slot machine animation for PredictedAppIcon
2021-08-26 21:48:07 +00:00
Tony Wickham
175d152f76 Animate PredictedAppIcon when its icon changes
Reuses the slot machine animation to slide in the new icon. Additionally, staggers based on other icons changing before it.

Test: open apps, watch predictions change
Bug: 197780290
Change-Id: Ib2bc84193a9e350c915dd3486b6c98c6c88d3f83
2021-08-26 13:00:51 -07:00
Tony Wickham
31f787d352 Add "wave" animation when entering taskbar edu
Each icon scales and translates up, then back down. If the icon is predicted, it also plays a "slot machine" animation through random icons from AllAppsList.

Test: Visual
Bug: 180605356
Change-Id: Ia41cb0e340347eea6b580d23c8a2386837e9c399
2021-08-26 13:00:43 -07:00
Tony Wickham
3feebeb196 Fix taskbar folder leave-behind not being drawn
I guess FrameLayout has willNotDraw=true by default, so we need to set it to false in order to get onDraw().

Test: open a folder on taskbar
Bug: 197866264
Change-Id: Ia521bc3da28527b9c3f1fa7bcdaf5d9ffb7feccf
2021-08-26 17:38:53 +00:00
Vinit Nayak
6d2dd7a9e4 Merge "Move NavButtons to end of taskbar" into sc-v2-dev 2021-07-21 00:11:31 +00:00
Vinit Nayak
8dcbde87c0 Move NavButtons to end of taskbar
* Layout hotseat icons from the end instead of the start
* IME down and system back arrow are now separate views

Bug: 191399224
Test: Tested w/ RTL + LTR in gesture
and 3 button nav w/ and w/o IME

Change-Id: I4d0ecd0bee0c519892c63eeefef45055b26d349b
2021-07-20 13:55:37 -07:00
Tony Wickham
8a2c1cbc5a Add taskbar stashing feedforward, i.e. hint at upcoming stash/unstash
Also fix unstashing not working in 3P launchers by moving the unstash call from LauncherTaskbarUIController to TaskbarActivityContext

Test: long press taskbar background and stashed handle, watch it hint towards the new stashed/unstashed state respectively and then complete the animation when the long press is triggered
Fixes: 193926311
Fixes: 192926350
Change-Id: I0e538be9129bf5c600d07f360b8106d7077862ad
2021-07-19 14:09:33 -10:00
Tony Wickham
3fd22847ac Initial commit of taskbar stashing
- Added StashedHandleViewController to provide properties such as ViewOutlineProvider to animate the handle that's shown in place of taskbar while it's stashed
- Added TaskbarStashController to coordinate the stashed state, including orchestrating the animation across taskbar controllers
- Added TaskbarStashInput consumer to detect long press in the nav region when taskbar is stashed

Behavior:
- Long pressing taskbar background animates to the stashed state by morphing the TaskbarView into the stashed handle view and offsetting the background offscreen
- We persist the stashed state across app launches and reboot; to unstash, long press the stashed handle
- We also visually unstash when going back home

Test: long press tasbkar background when in an app to stash it, long press the resulting stashed handle to unstash; while stashed, swipe up to home to also unstash until launching another app
Bug: 189503603
Change-Id: I698eff785388dff1ef717c76879719d6af236c2d
2021-06-18 17:51:39 -07:00
Sunny Goyal
5cf86b263e Updating taskbar icon alignment state
Icon alignment is only tied to Launcher paused/resumed state
Creating two separate states for this:
  1) Launcher paused/resumed
  2) Active gesture interaction (live-titles can affect paused state)

Removing state handler dependency on taskbar visibility

Bug: 190170303
Bug: 187353581
Bug: 187919439

Test: Manual
Change-Id: Ia97cdf43cec1d9213f5dc2af8d66258b34c57514
2021-06-16 13:30:36 -07:00
Sunny Goyal
ea8ac5a223 Only inflating taskbar views for valid items
Also enabling view cache for folders

Bug: 187353581
Test: Manual
Change-Id: I5bc695fd86475f30611bc6b362b4ae93c48c26bb
2021-06-15 10:37:23 -07:00
Tony Wickham
36696d62b0 Reorganize taskbar controllers
Organize existing properties as follows:
- TaskbarViewController contains properties affecting TaskbarView (though child icons are still supplied by TaskbarHotseatController)
- TaskbarDragLayerController contains properties related to TaskbarDragLayer itself
- Renamed NavbarButtonUiController to NavbarButtonsViewController, following the pattern of TaskbarViewController and TaskbarDragLayerController
- TaskbarControllers contains the different controllers to make it easier to construct, initialize, destroy, and pass them around
- Removed TaskbarIconController as its responsibilities were moved to more specific controllers

Test: compiles and runs, manually tested
Bug: 187353581
Change-Id: Idccd95d47117101bf9617e5532a5b87635d2b8f6
2021-06-09 13:27:02 -07:00
Sunny Goyal
57b2279dcb Taskbar layout update
> Calculating the hotseat padding statically
> Animating taskbar views individually when animating to home
  instead of a layout animation
> Moving all navbar buttons to a separate layout/controller and independent
  of Launcher
> Fixing RTL layout for taskbar and nav bar

Bug: 187353581
Test: Manual
Change-Id: If21696f38beee328f553e467394776a8e8ed4c3e
2021-06-03 16:10:02 -07:00
Vinit Nayak
91dca0f282 Initial commit of rotation contextual button.
UI fixing todo: b/187754252

Bug: 180046394
Test: Works in basic cases with on home and
in app taskbar.

Change-Id: I69985b57e38a9fdb7935fcafb097b1e6da73a6b9
2021-06-01 13:16:48 -07:00
Tony Wickham
8ac277ebd8 Taskbar drag starts internal pre-drag before system drag
- TaskbarDragController now extends DragController.
- Currently there is no pre-drag condition, so we immediately get onDragStart(), which starts the system global drag (which cancels the original internal drag).
- Make the original view invisible during the drag and drop operation, across both internal and system drag events.
- No longer handle onDragEvent() in TaskbarView, as TaskbarDragController handles all of it now.

Test: Drag and drop from taskbar still works (bonus: starts from the correct registration point that you touched down on). Locally added a PreDragCondition and verified a seamless handoff to system drag and drop when the pre drag end condition was met.
Bug: 182981908
Change-Id: I6bf48141a5eedfc6db6f461258e880ef8146e733
2021-05-25 15:35:58 -07:00
Sunny Goyal
d5500548dc Revert^2 "Moving taskbar lifecycle to TouchInteractionService"
430465a3d5
Bug: 187353581
Change-Id: I7b2280d16adfafd3e85ffc1d22e32d0c00d12b67
2021-05-21 07:05:02 +00:00
Kholoud Mohamed
430465a3d5 Revert "Moving taskbar lifecycle to TouchInteractionService"
This reverts commit e215fb730b.

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId=I13700009003387451&testResultId=TR89423459137251402, bug https://buganizer.corp.google.com/issues/188755902

Bug: 188755902
Change-Id: I4650136975b60f311499ee6ff5b27ab9a32d23d6
2021-05-20 13:32:05 +01:00
Sunny Goyal
e215fb730b Moving taskbar lifecycle to TouchInteractionService
> Inflating taskbar views with a non-launcher window context
> Removing separate taskbar view in Launcher
> Handling taskbar icon clicks directly instead of going via launcher
> Fixing some relayouts during show/hide animation

Bug: 187353581
Test: Manual
Change-Id: Ia7d44acbb770bf0345922234b3daa5cc040a5843
2021-05-17 21:47:08 -07:00
Vinit Nayak
673faf59ee Add IME switcher/hide button bar when IME showing
Bug: 180046394
Change-Id: Ic2bd919ab3d27e0a430b081c771ea8dc5827be81
2021-05-05 12:50:39 -07:00
Vinit Nayak
16fd85629d Initial commit of 3 button work
Home, Back and Recents basic functionality working

Fixes: 180046394
Change-Id: Ifc5c767e35e88183500d14d14736eb40df436369
2021-05-05 11:25:36 -07:00
Tony Wickham
81f8175ab1 Move taskbar to be closer to QSB
- Offset taskbar to be halfway between QSB and bottom of the screen.
- Add taskbar translationY state property to animate when going
  between launcher and an app.
- Draw the taskbar background in TaskbarContainerView instead of
  TaskbarView so it stays pinned to the bottom as TaskbarView
  translates up. If we want to have a background behind the
  taskbar on home, this should move back to TaskbarView so that
  the drawing can be shared by mTaskbarViewOnHome.

Test: visually on home screen, translates when entering and
exiting an app

Bug: 182981881
Bug: 171917176
Change-Id: I44f8b2c770074f7f015dcccbc2befd3453811193
2021-04-13 10:10:54 -07:00
Tony Wickham
be282e9bc8 Update taskbar to add extra hotseat items instead of recent apps
Removes recents-related code including the divider between it and
hotseat.

Test: manually on device

Fixes: 184366189
Bug: 184789479
Bug: 171917176
Change-Id: I7776c98659ded70f53a49befddcd23c8353c6440
2021-04-12 16:20:18 -07:00
Tony Wickham
aea0cbf9d3 Fix taskbar crash after cleanup
- Set LayoutTransition after adding initial views
- End running transitions in cleanup
- Only run update listener if LayoutTransition is active

Test: No crash after taskbar cleanup()
Bug: 182512211
Change-Id: I1049857935d09235388c1ef1fe4d89ef53b79aa5
2021-03-23 15:35:46 -07:00
Tony Wickham
9ce3b25ef6 Add TaskbarView as a child of Hotseat
Instead of keeping the Taskbar window showing above the home screen,
we now integrate a copy of TaskbarView directly into Launcher's view
hierarchy. Most TaskbarController calls apply to both TaskbarViews
(mTaskbarViewInApp and mTaskbarViewOnHome), except for calls related
to Hotseat, which only apply to mTasbkarViewInApp given the real
Hotseat will be showing with mTaskbarViewOnHome.

More cleanup will follow this change.

Test: All taskbar interactions (e.g. drag and drop) continue to work
Bug: 182512211
Bug: 171917176
Change-Id: I0f0b124f652daa85f866e1df8f9e2981540331a0
2021-03-22 15:26:01 -07:00