Commit Graph

234 Commits

Author SHA1 Message Date
Merissa Tan
5dbd289f18 Add running apps icons to taskbar for desktop environment.
This CL adds app icons for launched/running apps to the Launcher
taskbar hotseat. When the activity is closed, the app icon is
removed. The apps that are added to the taskbar on boot are never
removed.

Recall: http://recall/clips/ad6d3cfc-7358-4b37-846e-de843ad3000d

Bug: 183906774
Test: Launch an app and verify the app icon is added on the taskbar.
Close the app and verify the icon is removed from the taskbar.
Test: Switch navigation modes on the emulator and ensure that running
app icons are added to the taskbar after it is reinitialized.
Test: atest NexusLauncherTests:com.android.quickstep.RecentTasksListTest RecentTasksControllerTest

Change-Id: Ieaaf001530b5778871fb7a8d18cdcaa1ccbf0e31
Merged-In: Ieaaf001530b5778871fb7a8d18cdcaa1ccbf0e31
2022-07-28 17:50:12 +00:00
vadimt
f6ef879cf4 Moving all sources that are shared between Launcher and TAPL in one directory
This will help SysUI test team (who uses TAPL) to set up Gradle build for their tests.

Bug: 202567877, 234414088
Test: presubmit
Change-Id: I3d923ea4b54d1a4c3d2b345be09692727d30433e
2022-07-27 20:18:46 +00:00
Tony Wickham
eeb66e41e5 Cleanup taskbar+assistant interactions
- Always move the taskbar layer when voice interaction window visibility
  changes, to ensure we remove the temporary taskbar background in all
  cases (e.g. swipe to home)
- Move check to not draw taskbar background to the temporary view
  itself, so that it's at the proper layer when shown (e.g. during
  fulfillment on the home screen)
- Don't add view to window if it's already added (we already have this
  check for the removal case)

Test: Open an app, invoke Assistant, swipe home; Taskbar background is
removed; invoke and fulfill assistant from home screen, in app, in 3
button mode, and in gesture mode (all permutations)
Fixes: 236924161
Fixes: 240101132
Fixes: 235895444

Change-Id: I5958f1dbe14a6d190d3808014429f7f8146c9f96
2022-07-27 12:52:59 -07:00
Alex Chau
62572c04e2 Revert "Move BaseActivityInterface task size methods to DevicePr..."
Revert "Move BaseActivityInterface task size methods to DevicePr..."

Revert submission 19279487-baseactivityinterface

Reason for revert: As per discussion in ag/19341332, make sure DeviceProfile can properly react to inset changes before moving task size calculations there
Reverted Changes:
I30324d34c:Move BaseActivityInterface task size methods to De...
Ia9c1d0387:Move BaseActivityInterface task size methods to De...

Bug: 238593212
Change-Id: I0d40fdd4a5d4468494e30cef32a284479ddd2feb
2022-07-25 18:38:03 +00:00
Pat Manning
4e73e5e352 Move BaseActivityInterface task size methods to DeviceProfile.
Fix: 238593212
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: I30324d34ca119a467f530b590949743c2ba7b91a
2022-07-18 16:35:02 +01:00
Tracy Zhou
1092ccacbf Merge "Show IME switcher only when physical keyboard is connected in 3 button nav (instead of also when virtual keyboard is visible)" into tm-qpr-dev 2022-06-29 21:27:17 +00:00
Vaibhav Devmurari
207e374413 Allow taskbar and taskbar all apps window to receive split touches
Adding feature to allow UI interaction during Drag and drop.
To allow user to interact with taskbar UI during D&D, the window
should support FLAG_SPLIT_TOUCH to receive touch events while user
using D&D.
DD: go/global_drag_and_drop

Test: manual
Bug: 220109830
Change-Id: Icd549aa272c140d865d89eeb9f5619b5ab13c015
(cherry picked from commit 0074baa82e)
2022-06-27 10:11:58 +00:00
Tracy Zhou
849a0c4e81 Show IME switcher only when physical keyboard is connected in 3 button nav (instead of also when virtual keyboard is visible)
Bug: 226489759
Test: connect to a physical keyboard in 3 button nav and make sure the ime switcher shows; and doesn't show with virtual keyboard
Change-Id: Ib9a5880eb1bd6d5b877a9f3789ce858f399c4910
2022-06-24 23:40:41 -07:00
Alex Chau
ccc55f1668 Merge "Detect force visible nav bar based on kids mode." into tm-qpr-dev 2022-06-16 13:55:14 +00:00
Pat Manning
c773d7cdc8 Detect force visible nav bar based on kids mode.
WM was changed to use NAV_BAR_KIDS_MODE instead of NAV_BAR_FORCE_VISIBLE, this needs to update to match.

Fix: 229580780
Test: manual.
Change-Id: I38fb23dcc85676593a3f8f0851676bc526802d2e
2022-06-15 15:03:52 +01:00
Tony Wickham
9a54d2aa43 Hide taskbar while VoiceInteractionWindow is visible
- Fade out icons (or stashed handle if stashed)
- Move background to APPLICATION_OVERLAY layer (behind VIW)
  - Only for gesture nav
- On home screen in 3 button mode, translate buttons down when assistant
  is invoked

Test: Invoke assistant, ensure it draws above taskbar background and
taskbar stops drawing icons or stashed handle
Bug: 225200928

Change-Id: I7807d30df8f358295b8231d89217c7413f32c6f9
Merged-In: I7807d30df8f358295b8231d89217c7413f32c6f9
2022-06-09 05:21:42 +00:00
Brian Isganitis
a9a78117c7 Have separate DeviceProfile instances for taskbar and all apps windows.
We want to scale down the DeviceProfile for taskbar, but the all apps
window should rely on the original DeviceProfile.

Test: Manual
Fix: 232907361
Change-Id: Ia09f674ada9e445c1d7278fa94c536ea9de13ef9
Merged-In: Ia09f674ada9e445c1d7278fa94c536ea9de13ef9
2022-05-25 18:11:51 +00:00
Schneider Victor-tulias
766f2fc346 Coordinate the SUW All Set page first reveal with the taskbar unstash to hotseat animation.
Bug: 220096988
Test: manual
Change-Id: I1f517b322e5c18f825be8b51ebb560a4a195b666
2022-05-13 11:17:10 -07:00
Schneider Victor-tulias
9b6babf839 Translate the 3 navigation buttons to/from their in-app position when animating to/from the -1 screen, all apps and widgets.
Bug: 221455508
Test: opened all apps, widgets, -1 screen, notifications shade and keyboard in various combinations and orders; locked screen, launched app, returned home with the back/home buttons, opened overview
Change-Id: Ia0b406aacf72b34bd6b7ff1c01278ab6895a7da4
Merged-In: Ia0b406aacf72b34bd6b7ff1c01278ab6895a7da4
(cherry picked from commit 9c1a452a1d)
2022-05-02 18:45:01 +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
74641da5b8 Merge "Move taskbar insets logic to TaskbarInsetsController" into tm-dev 2022-04-20 23:43:50 +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
Brian Isganitis
6d780af405 Merge "Log taskbar all apps entrypoint, launches, and drags" into tm-dev 2022-04-20 17:13:52 +00:00
Tony Wickham
2604dd348c Move Taskbar background drawing to TaskbarBackgroundRenderer
Currently used by both TaskbarDragLayer and TaskbarScrimView

Test: stash and unstash taskbar, background drawn as before; open a
Bubble and ensure taskbar is still scrimmed
Bug: 225200928

Change-Id: I3f7f4c1b1232b53c3eacb0e000d1c3aec25bb49d
2022-04-14 14:18:35 -07:00
TreeHugger Robot
d9939d8174 Merge "Adjust the insets frame providing method per API change" into tm-dev 2022-04-13 01:53:04 +00:00
Brian Isganitis
5b89b31b12 Log taskbar all apps entrypoint, launches, and drags
Test: wwdebug, wwlogcat, ensure container is formatted as follows:
    container_info {
      all_apps_container {
        taskbar {
        }
      }
    }
Bug: 204696617
Change-Id: I2492b133f95fccb059010bc9e5ed6cce73c211f9
2022-04-11 12:14:14 -07:00
Alex Chau
e0227551cf Clone mInsets when copying DeviceProfile to taskbar
- Set mInsets with windowBounds.insets when initialized, and set windowBounds.insets when cloning DeviceProfile
- Added more bottom sheet / all apps in DeviceProfile dump
- Also dump taskbar's device profile in dumpsys

Fix: 226968237
Test: Taskbar AllApps should have correct top padding
Test: adb shell dumpsys activity com.google.android.apps.nexuslauncher
Test: adb shell dumpsys activity service com.google.android.apps.nexuslauncher/com.android.quickstep.TouchInteractionService
Change-Id: I7739c699fb16544b92dc820354a643f745694c25
2022-04-06 19:44:43 +01:00
Yunfan Chen
e3f7624ecb Adjust the insets frame providing method per API change
The frameworks side made a change to provide different insets frames for
different types of insets. Update the corresponding code to reflect that
change.

Test: build
Bug: 215411414
Change-Id: I57ecbb778fd0f0d3a19cc6712d747cad6664644b
2022-04-04 17:59:54 +09:00
Vinit Nayak
26b6b577b9 Add metrics for taskbar 3 button nav
Fixes: 221075063
Test: wwlogcat shows right events,
new events show up on aster dashboard

Change-Id: I3864ac02ea00f281d33ccb26b95a4916bd8b6be9
Merged-In: I3864ac02ea00f281d33ccb26b95a4916bd8b6be9
2022-03-31 19:36:47 +00:00
Tony Wickham
538c9a0b52 Fix problems with taskbar floating views on rotation
- Close all views except TYPE_REBIND_SAFE
- Make All Apps TYPE_REBIND_SAFE again
- Reapply fullscreen to ensure any remaining floating views such as taskbr edu are laid out correctly upon rotation

Test: Rotating with folder and/or popup closes them; rotating with all apps stays open; rotating with all apps + popup closes popup but not all apps; rotating taskbar edu lays out correctly; opening shortcut or notification from all apps popup still closes all apps
Fixes: 220074790
Fixes: 219981733
Change-Id: I1dfea4ed0a636ab84bcc4e33304c80a689da01cd
2022-03-28 14:48:20 -07:00
Schneider Victor-tulias
44aadeaef6 Fix issue cauing the taskbar to show in the all set page of the SUW.
Some missing state handling was causing the taskbar to show in the all set page of the SUW.

Fixes: 218507703
Test: build change, flashed and factory reset device
Change-Id: If3a280ef6416f0821cf6a9b1ab0a65d58c5c8221
2022-03-22 10:50:26 -07:00
Schneider Victor-tulias
fb252e7ce1 Add taskbar TAPL tests
- Added TAPL objects to support TAPL tests for taskbar features
- Added tests for major taskbar features: hiding/showing the taskbar, opening all apps, lauching apps and app deep shortcuts from the taskbar/all apps page, launching apps and app deep shortcuts in splitscreen
- These tests should only run for large devices

Design: go/taskbar-tapl-tests
Test: ran tests locally with invalid configurations and remotely
Bug: 215218813
Change-Id: I3c28c339707467414aa47fa633f87fa0c1fdee57
2022-03-10 13:02:35 -08:00
Nick Chameyev
41b7f53805 Merge "Do not run unfold taskbar animation when in portrait" into tm-dev 2022-03-09 10:26:21 +00:00
Nick Chameyev
fe9ec740cc Do not run unfold taskbar animation when in portrait
Limits taskbar icons translation animation
only when the display is in natural orientation.

Bug: 219958588
Test: fold/unfold in portrait and landscape
Change-Id: I33e26829ae37f1df39e8c7234f98d20eb7993b93
2022-03-08 12:03:32 +00:00
Sunny Goyal
4403d078a6 Moving NavigationMode to display controller
Navigation mode affects display properties like bounds and
most listeners already had a similar display listener. This
will remove race conditions when managing the two events.

Bug: 221961069
Test: Presubmit
Change-Id: If7a22e006e6b969ecddf075001066809aa72995c
2022-03-04 18:11:33 -08:00
Brian Isganitis
1bc23b7662 Ignore touches in taskbar and all apps windows during system drag.
Touches are ignored as soon as we want to start system drag so that system drag can start sooner (i.e. before any AbstractFloatingView animations finish). This approach utilizes ViewTreeObserverWrapper's compute insets listener by temporarily setting the touch region to empty. The taskbar window remains fullscreen until the drag finishes so the touch region is reset at the right point. Similarly, the all apps window is kept open during its drag operations until the drag finishes. System drag state is now exposed through the drag controller to skip predrag.

Test: Manual by dragging to split screen and triggering dismissal
animation from both windows. Verified predrag works.
Fix: 221104066
Fix: 220070070

Change-Id: I424106269c841f58cbe5338d30b6c33fbd889019
2022-03-02 11:31:47 -08:00
Pat Manning
281182739a Merge "Refactor force visible nav bar into new secure setting." into tm-dev 2022-03-02 13:51:27 +00:00
Pat Manning
2da28dcdc9 Refactor force visible nav bar into new secure setting.
Decouples force visible from kids mode setting.

Bug: 217668440
Test: manual
Change-Id: Ia8a2b30eab7633e3b686c9afebd7e683ef984deb
2022-02-28 14:55:47 +00:00
Brian Isganitis
a1370bfc5f Put taskbar all apps in separate overlay window and stash taskbar.
All apps should display below system UI components such as the
notification tray and power menu, so an overlay window is more
appropriate. As a result, all apps has a separate window activity
context, but some properties are delegated to the taskbar activity
context. Taskbar should also be stashed while all apps is open.

Change-Id: I593457708779d84a0ab8b949a966d247d0a2e1b7
Test: Manual
Bug: 216843189
Fix: 217383817
(cherry picked from commit 473b980bf9)
2022-02-23 15:06:56 +00:00
Brian Isganitis
7b046e7e27 Merge "Add predictions row to taskbar all apps." 2022-02-15 19:24:53 +00:00
Brian Isganitis
099945b075 Add predictions row to taskbar all apps.
- We need to listen to DeviceProfile changes in case the number of
  columns changes in the grid. I made an interface/mixin separate from
  ActivityContext to avoid polutting the latter with too many things. I
  also applied this change to existing taskbar A-Z grid.
- Added all apps visited count to onboarding preferences for only
  showing "All Apps" label in place of divider 20 times. Label is also
  tracked on taskbar side and should be kept in sync.

Test: Manual
Fix: 216843395
Bug: 174174514
Change-Id: I97aa91397c334123626caf18251f19e17c7104fb
2022-02-14 11:24:16 -08:00
Yohei Yukawa
697ae451d4 Use config_imeDrawsImeNavBar in Launcher
With this CL, the Launcher starts checking

  config_imeDrawsImeNavBar [1]

instead of

  config_navBarInteractionMode

when determining whether the IME should render the back and IME
switcher buttons or not.

There should be no observable behavior change as long as

  config_navBarInteractionMode

is set to true when the gestural navigation is enabled.

Bug: 216118048
Test: presubmit
Change-Id: Ia8269e240e0b18e1c7b8bd550dbb197ad58a6dbc
2022-02-08 07:47:29 -08:00
Brian Isganitis
25b2ac8527 Do not scale down taskbar all apps icons.
Test: Manual
Bug: 204696617
Change-Id: I2ede15d8beaef65661984fe63bd99d0e7e726774
2022-01-28 16:43:24 -05:00
Brian Isganitis
9e80fb355c Inflate taskbar all apps in abstract slide-in view.
All apps can now be dismissed via the scrim or swiping down. To properly
behave as an AFW, the apps view can no longer be within the taskbar's
layout, and will instead add and remove itself from the drag layer.

Test: Manual
Bug: 204696617
Change-Id: I86a0ffc06faa653c65b3797a57ba6512c6874221
2022-01-28 15:21:11 -05:00
Brian Isganitis
4edf1da6e2 Introduce initial A-Z app drawer to taskbar.
Invoking the drawer is currently hooked up to tapping empty space on the
taskbar. Apps can be launched, and drag-n-drop split screen works. The
drawer can only be dismissed by acting on an app icon or tapping the
taskbar again.

Test: Manual
Bug: 204696617
Change-Id: I7c5fdbc7d54d8209f6f15ef80bfeb5e9b80cf647
2022-01-28 15:20:00 -05:00
Pat Manning
900ef936ad Animate icon dimming in taskbar when force showing in immersive mode.
Test: manual
Bug: 203748818
Change-Id: Iab3c65db502e7dbde3141429e9ae70eec1fabde1
2022-01-27 17:59:35 +00:00
Tony Wickham
c4f2560b0f Merge "Don't create new nav bar layer when IME is rendering nav buttons" 2022-01-25 20:17:43 +00:00
Schneider Victor-tulias
bce63e06ed Merge "Fix taskbar icon dragging issues" 2022-01-25 19:03:06 +00:00
TreeHugger Robot
3e25f29128 Merge "Add log dumps for taskbar state" 2022-01-21 15:05:32 +00:00
Tony Wickham
27c41677b1 Don't create new nav bar layer when IME is rendering nav buttons
Test: Edit folder name in taskbar, ensure we don't create a new window
Fixes: 214571910
Change-Id: I9a1385dbed2df7a4ee141485c8bbfb521457d853
2022-01-21 00:08:19 +00:00
Schneider Victor-tulias
312b68fde4 Fix taskbar icon dragging issues
- Fixed icons disappearing when initiating dragging
- Fixed incorrect icon location when initiating dragging after rotating the screen to an orientation other than what launcher started in

Fixes: 215418478
Fixes: 214025075
Test: dragged icons from the workspace and taskbar
Change-Id: I848138af28802f7d806708c77c25b8de307c70d8
2022-01-20 14:56:01 -08:00
Schneider Victor-tulias
fa0bfee97a Add log dumps for taskbar state
Test: created bugreport and checked logs
Bug: -
Change-Id: Ic0c2330b18c8daf181ae5b236e0c4b212d630fa3
2022-01-20 14:41:25 -08:00
Merissa Tan
d41ce4980d Create new DesktopNavbarButtonsViewController class.
This CL creates a new DesktopNavbarButtonsViewController class to allow
for taskbar buttons and status icons customization on desktop
environment.

Recall: http://recall/clips/e008d2de-36d3-47f6-954a-5ce18bac69a5

Bug: 213964564
Bug: 196757951
Test: Switch between different system navigation modes and verify the
desktop taskbar buttons stay on screen.

Change-Id: Ie7a9a044fad3b60cd37d910b8eb78c8734aadfd5
2022-01-18 17:10:15 -08:00
TreeHugger Robot
f2172eba8c Merge "Make Taskbar focusable when a popup is open." 2022-01-15 00:00:55 +00:00
Schneider Victor-tulias
291d88460b Make Taskbar focusable when a popup is open.
- Added ArrowPopup#OnPopupClosedCallback to automatically remove Taskbar focus when the popup closes.

Fixes: 209917078
Test: opened popup in taskbar and closed it with switch access, touching anywhere on the screen and using the back gesture. went home to check if focus was removed.
Change-Id: Ie7aafc9cf0f03fadaa44e77818508e9e1d8db610
2022-01-14 12:52:53 -08:00