Commit Graph

160 Commits

Author SHA1 Message Date
Jon Miranda
e7011d2b87 Revert "Add TaskbarModeSwitchRule to test both transient/persistent taskbar."
This reverts commit d5a6b5f688.

Reason for revert: Breaks tests due to "SharedPreferences in credential encrypted storage are not available until after user is unlocked"

Bug: 258256906
Change-Id: I1de69249685f9d2e71183357cf3eda8d443c7d97
2022-11-08 21:56:52 +00:00
Jon Miranda
d5a6b5f688 Add TaskbarModeSwitchRule to test both transient/persistent taskbar.
- Lays the foundation for transient taskbar tests.
- Does not add flags that would add ACTION_OUTSIDE in tests.
  We can address testing this functionality in a separate CL

Bug: 257549303
Test: TaplTestsTaskbar
Change-Id: I44acc5e589b959e6d4bc93fdc369e503c54e7d87
2022-11-07 14:18:37 -08:00
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
Tony Wickham
6b32ce07b1 Merge "Decrease TAPL All Apps scrolling flakiness" into tm-qpr-dev 2022-11-02 15:39:45 +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
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
Jon Miranda
661f38cdb8 Merge "Add transient taskbar UI" into tm-qpr-dev 2022-10-26 14:56:15 +00: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
d859060860 Merging MultiValueAlpha with MultiPropertyFactory
Bug: 246644619
Test: Presubmi
Change-Id: Id5abc5f3169544656f1139ae17ca59e34ac65dac
2022-10-24 14:38:18 -07:00
Schneider Victor-tulias
ee0bc03d58 Decrease TAPL All Apps scrolling flakiness
scrolling in all apps did not factor in additional top padding in the all apps list recycler. This made it so that apps could occasionally scroll and be obcured by that top padding, making them un-tappable. Added this padding to the scrolling logic to make scrolling less flaky.

Test: TaplTestsTaskbar, TaplTestsLauncher3 and presubmit
Fixes: 248064856
Change-Id: Id76b92b4bc354917f3688ac53673d0ed7a905f02
2022-10-21 12:12:38 -07: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
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
Nicolò Mazzucato
4afab0b210 Merge "Cancel unfold animation when rotation changes" into tm-qpr-dev 2022-10-13 23:06:50 +00:00
Nicolo' Mazzucato
74c3a0024b Cancel unfold animation when rotation changes
In DeviceFoldStateProvider.kt, FOLD_UPDATE_FINISH_HALF_OPEN is emitted if the rotation changes while the animation is in progress.

 This targets the case when the device goes to tabletop mode during the transition.

+ Using RotationChangeProvider to fix problems when the new orientation change was received in a background thread unexpectedly. This fixes: (1) wrong launcher icons movement after the rotation, and (2) wrong dark overlay scrim after rotation.

+ Minor formattig fixes by ktfmt

Bug: 241743859
Test: DeviceFoldStateProviderTest && NaturalRotationUnfoldProgressProviderTest && manual stress testing
Change-Id: Iee234e4b832cad8298b69356fce7c14d75e89ccc
2022-10-13 09:16:44 +00:00
Vinit Nayak
2081742cb7 First pass at Taskbar layout UI polish for SUW
Bug: 231906478
Change-Id: I5d55d1e33f928d4b8034c356565a0f9d8bc5c3fb
2022-10-12 00:04:27 +00:00
Schneider Victor-tulias
e64a8cfb20 Allow Taskbar stashing for external tests
Moved Taskbar stashing enabling logic to QuickstepTestInformationHandler to allow external tests to use the Taskbar API

Test: TaplTestsTaskbar
Bug: 240129939
Change-Id: I0ede8e4767cbe068328997a3afd51f9d5df2799a
2022-09-21 10:44:23 -07:00
Schneider Victor-tulias
0b828e291c Merge "Finish recents animation to the matching state." into tm-qpr-dev 2022-09-08 18:11:43 +00:00
Alex Chau
e818bcb997 Use real IDP in DeviceProfileTest
- Mock WindowManagerProxy instead of IDP in DeviceProfileTest
- Extracted NavigationMode to standalone class
- Moved parseNavigationMode to WindowManagerProxy so it can be mocked
- Moved DeviceProfileTest to internal repo

Bug: 242086027
Test: DeviceProfileTest
Change-Id: Ia5a43293b1380f04d786d2adf8503cfd10f7674a
2022-09-07 10:35:21 +01:00
Tony Wickham
b6f593042d Don't rely on QuickstepLauncher instance for tests
Instead, bind to TouchInteractionService and use that binder to call into taskbar.

Test: TaplTestsTaskbar
Bug: 235986838
Change-Id: I222522bc53c9d1698542fbae52c37889f14abf41
2022-08-29 17:27:27 -07:00
Schneider Victor-tulias
146b86fc31 Finish recents animation to the matching state.
ResetGestureInputConsumer was defaulting to finising the recents animation to app when the the state was set to home. This created a situation where the taskbar could become invisible. Updated ResetGestureInputConsumer to check the state.

Fixes: 241204341
Test: tested on a large screen device using the repro steps
Change-Id: If5c109810ae2882f8cdfc0248939feb7c0c53d0d
2022-08-22 10:44:05 -07:00
Vinit Nayak
8a3d05587e Show 3 button nav on phone in Taskbar (1/2)
* TODO: Landscape/seascape support,
        Separate nav spacing out into
        separate class/add tests

Bug: 219035565
Change-Id: I8f5c007f04ea4d6df15962772806356181d764ff
2022-08-09 13:25:50 -07:00
Vinit Nayak
7db37b3d94 Use Taskbar window for phones (only works on gesture nav) with flag
* Try to avoid re-creating TaskbarActivityContext to
avoid re-inflating taskbar views
* Toggle via Flipper App (key 1101)
OR adb shell setprop persist.wm.debug.hide_navbar_window 1 && adb reboot
TODOs
* Only works for gesture nav, not 3 button
* Sampling on phone doesn't always work.

Bug: 219035565
Change-Id: I2a015f99d5f1fe86d7261eec9fd898bd4480ff9f
2022-08-01 17:48:09 -07:00
Pat Manning
5f74bfd76d Refactor DeviceProfile tests based on dump() and use real device dimensions for tests.
- Added roundPxValueFromFloat when converting dp/sp to px to deterministically round up values around .5

Fix: 240133465
Bug: 237542518
Test: DeviceProfileTest.kt
Change-Id: If4239f714487fe5bf2ef44274e2ce415bd75c86d
2022-08-01 17:54:43 +00:00
Tony Wickham
d7fb7f379a Merge "Cleanup taskbar+assistant interactions" into tm-qpr-dev 2022-07-28 23:02:35 +00:00
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