Commit Graph

1939 Commits

Author SHA1 Message Date
Holly Sun 47b9cb8436 [a11y] Change all apps screen name to All Apps instead of reusing Home.
Now even when we enter the All Apps page, talkback still reads the page name as Home (https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/src/com/android/launcher3/Launcher.java;l=586;drc=120838b04dcaf072704c6fb382ea9115672cfcaa).

Bug: 330470894
Bug: 333833220
Test: manual
Flag: NA
Change-Id: I32a1ce8844cd111c7d1c492ee0a39fec47858a47
2024-04-25 15:13:41 -07:00
Brandon Dayauon 120838b04d Make settings cog animate back to original button
Provide the appropriate itemInfo so that launcherBackAnimation would play correctly.

bug:324569690
Test manual video: https://drive.google.com/file/d/1GfjL4PhdGOxs2KfDpieTNiFiKQ61aCgh/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space trunkfood

Change-Id: I1a9458643e932b279bf4ba4ea33e3dc0a2c121c2
2024-04-18 14:32:33 -07:00
Sunny Goyal 4a22ed81ea Using resource overrides for PluginManager instead of code-swap
Bug: 330920490
Test: Presubmit
Flag: None
Change-Id: Ib1cd50f95873928b9ce104e8e95d21f1dca9c6e3
2024-04-12 11:38:32 -07:00
Alina Zaidi 0580379e30 Rename freeform tasks to desktop tasks
Bug: b/332878426
Test: refactoring CL. Existing unit tests still pass.
Flag: NONE

Change-Id: I24ad9699223dd383ff794ef3b028bf32beca96d7
2024-04-10 12:30:50 +00:00
Brian Isganitis 3f4e5812ce Merge "Prevent meta shortcut from cancelling split select state." into main 2024-04-10 07:34:47 +00:00
Brian Isganitis 84fbec0b16 Prevent meta shortcut from cancelling split select state.
There are two things that need to be changed for this to work:

1. Make the isInOverview condition check for any Overview UI (including
   the split select state, modal, etc.)
2. Toggle Home All Apps directly, because firing the intent will cause
   Launcher to pause and resume before the intent is handled. We
misinterpret the pause as a request to cancel split screen. Since
TaskbarManager has a reference to Launcher, we might as well call the
method directly.

Test: Manual
Fix: 319076403
Flag: N/A
Change-Id: Ib8899188f593a168a054a16717df4a95be098557
2024-04-09 16:10:56 -07:00
Fengjiang Li 59091e4612 [2/2] Fix widget resize frame show up at skewed location.
Wait until launcher is not animating to show resize frame

Fix: 331433240
Test: manual - took a photo
Flag: NONE
Change-Id: I3aec7f8bf2b6081134004b30de3d389e5b1ab253
2024-04-09 13:43:36 -07:00
Fengjiang Li 01cc273537 Add LAUNCHER_ALL_APPS_SEARCH_BACK jank instrumentation
Bug: 330405993
Test: prefetto trace TBD
Flag: aconfig com.android.launcher3.enable_predictive_back_gesture TEAMFOOD
Change-Id: I1fb2876fb29bc360cbb8dc8c1605215f28383c3c
2024-04-01 11:12:50 -07:00
Jeremy Sim da4ba9336e Merge "Reparent folders and app pairs" into main 2024-03-30 03:06:44 +00:00
Jeremy Sim 742630c2f8 Reparent folders and app pairs
Previously, app pairs and folders shared a common data model, FolderInfo. Now we need to separate them, so a new type, CollectionInfo, will serve as the parent of both types.

Bug: 315731527
Fixes: 326664798
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, unit tests to follow
Change-Id: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
2024-03-29 15:39:28 -07:00
Fengjiang Li 61102b66e8 Merge "Extend CUJ_LAUNCHER_CLOSE_ALL_APPS_BACK to start as early as when user starts predictive back swipe" into main 2024-03-28 01:02:00 +00:00
Fengjiang Li 10c03e499d Extend CUJ_LAUNCHER_CLOSE_ALL_APPS_BACK to start as early as when user starts predictive back swipe
Bug: 330405993
Test: prefetto trace https://ui.perfetto.dev/#!/?s=58c0513fe0190f84ea1621a96d790a53b83fefc1ee402085b0d75bfc7b51e019
Flag: aconfig com.android.launcher3.enable_predictive_back_gesture TEAMFOOD
Change-Id: I76c32975e5ae6dcb0395d2eee68417f761455262
2024-03-27 16:03:47 -07:00
Schneider Victor-tulias 18821d1c1f Add debug logs to ActivityTracker
Flag: N/A
Bug: 274280837
Test: checked logs during gestures and 3-button, and dumped Launcher logs
Change-Id: Icbb1edb0e59fa9cce9364e39823a664cda4ebf1b
2024-03-25 13:48:44 -04:00
Fengjiang Li 9adc988412 Merge "Update WidgetSize on binding workspace, and when dropping widget with config activity" into main 2024-03-22 23:57:01 +00:00
Fengjiang Li 6f8069a8dc Update WidgetSize on binding workspace, and when dropping widget with config activity
ag/25923606 seems to have changed when we update widget size, this CL will make sure widget sizes are updated when dropping a widget that requires a config activity

Fix: 328133427
Test: manual
Flag: NONE
Change-Id: I5b62b78a9afde3b79b933f233361b409258649c9
2024-03-22 03:59:23 +00:00
Alex Chau 59781a7d79 Remove DesktopTaskView.isDesktopModeSupported
- Use Flags.eanbleDesktopWindowingMode directly
- Also clean up unnecessary and improper flag usage

Bug: 309008406
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode DEVELOPMENT
Test: presubmit
Change-Id: I86ce317ce577f279d2ce819d6dc1738204c2631e
2024-03-21 14:05:27 +00:00
Winson Chung 30a9a212cd Change existing callers to use no matching id constant
- Otherwise it can unintentionally match a predicted icon

Fixes: 329353320
Test: None
Change-Id: I9e46126d5fe45a50d4a36140f7ce0317cd2b1b23
2024-03-13 19:11:03 +00:00
Himanshu Gupta 68c145a14b Merge "Clearing All Apps Search For ALL_APPS Intent" into main 2024-03-07 22:29:31 +00:00
Fengjiang Li fb16517fea [2/n] Avoid flicker to drop a widget that needs a config activity
1. Don't show background in PendingAppWidgetHostView if we are showing preview bitmap
2. Extract bitmap from DropView instead of LauncherAppHostView
3. Letterbox bitmap into PendingAppWidgetHostView's canvas if canvas has different aspect ratio

Fix: 284236964
Flag: aconfig launcher.enable_add_app_widget_via_config_activity_v2 DISABLED
Test: manual
Change-Id: I76de215186b96ffe65c909b28155fb19ac90d4f1
2024-03-05 14:49:09 -08:00
Himanshu Gupta b3cd9802e8 Clearing All Apps Search For ALL_APPS Intent
Currently, if ALL_APPS intent is executed while All Apps
QSB is highlighted, user is left on the search sub-view of
the All Apps view.
To fix this, we add a runner to check the search view and
exit from it after State Transition has happened.

Before: https://photos.app.goo.gl/c5WeUnAzowxRWW1m7
After: https://photos.app.goo.gl/dxvb23wzwPfKqi3o6

Bug: 324516950
Flag: NA
Test: Manual flash and running intent via cmd
Change-Id: Icc291f792545b0c515535857f578bc2e01fef7f7
2024-03-02 18:42:33 +00:00
Eghosa Ewansiha-Vlachavas 7cc75c6a43 Merge changes from topics "removeDesktopMode2", "replaceDesktopWindowingFlag" into main
* changes:
  [2/n] Remove use of `persist.wm.debug.desktop_mode_2`
  [2/n] Replace read-only desktop windowing flag with runtime flag
2024-02-28 14:24:09 +00:00
Eghosa Ewansiha-Vlachavas 957bbcd97f [2/n] Remove use of persist.wm.debug.desktop_mode_2
`persist.wm.debug.desktop_mode_2` is no longer needed as desktop
windowing now uses a runtime flag which can be modified using the command: `adb shell device_config put lse_desktop_experience
com.android.window.flags.enable_desktop_windowing_mode (true/false)`.

Flag: NONE
Fixes: 326060855
Bug: 304778354
Test: build & `adb shell device_config put lse_desktop_experience
com.android.window.flags.enable_desktop_windowing_mode true && adb
reboot` desktop windowing mode should be enabled.

Change-Id: I25d509c0912ab3266a32ad992333460332b8b0a2
2024-02-23 17:42:04 +00:00
Sunny Goyal 72a74669e7 Adding support for async view inflation
Bug: 318539160
Test: atest AsyncBindingTest; atest ItemInflaterTest
Flag: aconfig enable_workspace_inflation DEVELOPMENT
Change-Id: I77a373db7a5805f68f4b8cbfa9b586b5674252de
2024-02-22 10:58:48 -08:00
Eghosa Ewansiha-Vlachavas 80232ea229 [2/n] Replace read-only desktop windowing flag with runtime flag
Replace use of `enable_desktop_windowing` flag with
`enable_desktop_windowing_mode` flag

Flag: NONE
Bug: 304778354
Fixes: 326060018
Test: build & `adb shell device_config put lse_desktop_experience
com.android.window.flags.enable_desktop_windowing_mode true && adb
reboot` desktop windowing mode should be enabled.

Change-Id: Idc44e2b7a8b738f15f8d3812a0c4fc1a4b4861c1
2024-02-22 17:02:45 +00:00
Vinit Nayak 2b031727f0 Merge "Log split metrics through individual sessions" into main 2024-02-21 00:20:44 +00:00
Fengjiang Li 73ece207a2 Merge "Avoid flicker to drop a widget that needs a config activity." into main 2024-02-17 03:16:40 +00:00
Fengjiang Li 8bd66ee82d Avoid flicker to drop a widget that needs a config activity.
When dropping a widget that requires an config activity, drop a
PendingAppWidgetHostView to workspace

Adb command to try the feature:

adb shell device_config put launcher com.android.launcher3.enable_add_app_widget_via_config_activity_v2 true

Fix: 284236964
Test: manual
Flag: aconfig launcher.enable_add_app_widget_via_config_activity_v2 DISABLED
Change-Id: Ifd0be5c607a388cf8a8f6d77b46c03112e3e599f
2024-02-16 17:05:40 -08:00
Sunny Goyal e337a80ef2 Cleaning up some no-op calls during workspace binding
Bug: 318539160
Flag: None
Test: Manual
Change-Id: Ida21d849a06ed9c0ebf5671214dd9ee8525288d3
2024-02-14 15:10:54 -08:00
Vinit Nayak 5a9d4af170 Log split metrics through individual sessions
* Now we log the original source of the first selected app
as soon as the user selects it (previously we only did when user
selected second app)
* We log the item info for the second app to determine second
surface.
* Added new metrics to log after user has started a split session
and ended a split session
* We log different cancellation reasons (cancel button,
home gesture, general other app interruptions, etc).
* One KI/Bug: When the second app is selected via taskbar in
overview, the container will say hotseat because we are using
Launcher's logger and not Taskbar's. Taskbar's logger manually
overwrites the container in TaskbarActivityContext, we may be
able to make something hacky that can allow us to overwrite, but
that'll have to be a separate change

Bug: 322551862
Test: Logged metrics manually with event and itemInfo
Change-Id: I177623fd00ce62acf2d4ee983b58561d8c946d59
2024-02-13 17:55:08 -08:00
Sunny Goyal dc7cdd8b0c Sending original motion events to launcher overlay along with inferred values
Bug: 273828110
Flag: aconfig use_activity_overlay disabled
Test: Manual
Change-Id: I23cd72a964a647a0fd830befa096f3328e12ff8a
2024-02-13 16:26:37 -08:00
Cliff Wang dd2222749b Merge "Revert "Make sure TAPL waits for Launcher activity to stop each time it stops"" into main 2024-02-05 08:21:54 +00:00
Cliff Wang ac82e995ca Revert "Make sure TAPL waits for Launcher activity to stop each time it stops"
This reverts commit dd33b64a64.

Reason for revert: “DroidMonitor: Potential culprit for Bug b/323619378 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.”.

Bug:323619378
Change-Id: Iadaa80f2cc51f39ae3ab73cdd49a98d05835506e
2024-02-05 04:46:17 +00:00
Vadim Tryshev f9eced5768 Merge "Make sure TAPL waits for Launcher activity to stop each time it stops" into main 2024-02-03 02:33:53 +00:00
Vadim Tryshev dd33b64a64 Make sure TAPL waits for Launcher activity to stop each time it stops
This helps to ensure that the test doesn't proceed while the activity is
still stopping and it's state hasn't settled.

We introduce a count of STOP events and make sure it's 0 except for
cases where stops are safe to ignore or we have waited for them.

Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: I51c73c89854fcaa390d47a57389da18b2ce0ee6c
2024-02-02 15:21:20 -08:00
Sunny Goyal 558196ef87 Merge "Splitting bindItems method to also accept already inflated views which will eventually allow us to inflate icons on the background thread" into main 2024-01-30 18:49:20 +00:00
Sunny Goyal eb5684ce1e Splitting bindItems method to also accept already inflated views
which will eventually allow us to inflate icons on the background thread

Bug: 318539160
Test: Presubmit
Flag: None
Change-Id: I61e4981c1c3201e92102153d9558a0885637da3a
2024-01-30 00:44:26 -08:00
Sebastián Franco ea73bf5d77 Merge "Removing the Worskapce as a dependency of CellLayout" into main 2024-01-30 02:19:19 +00:00
Sebastian Franco 2986e0b4d1 Removing the Worskapce as a dependency of CellLayout
This will make it easier to test CellLayout, also we should avoid
circular dependencies as much as poisble.

This also allows the CellLayout to be created in other containers
that are not workspace.

Bug: 318417510
Test: creating HotseatReorderUnitTest in follow up cl
Test: TaplReorderWidgets
Test: ReorderAlgorithmUnitTest
Flag: NA
Change-Id: Ic45029a244cb11f8d6775c50b90af9c56f01eaa3
2024-01-26 09:28:57 -08:00
Andy Wickham af7ff56792 Merge changes from topics "awickham-api-cleanup", "keyboard-on-back" into main
* changes:
  Cleanup API checks for P, Q, and R.
  Add a WindowInsetsAnimationCallback to listen to IME changes.
  Update minSdk to 30.
2024-01-25 22:06:40 +00:00
Sunny Goyal dff4231a67 Merge "Moving view inflation in Launcher to a separate class" into main 2024-01-25 01:13:12 +00:00
Sunny Goyal 4e0142328f Moving view inflation in Launcher to a separate class
Bug: 318539160
Test: Presubmit
Flag: None
Change-Id: Iacf9bec39c63cc7a31fae5628bb588ccb765663c
2024-01-24 15:06:31 -08:00
Andy Wickham b922dccbf5 Cleanup API checks for P, Q, and R.
Test: Build with gradle
Flag: NA
Change-Id: I3ef17090741d14bebd76cf09cf3dc5ac4f11e686
2024-01-24 14:58:08 -08:00
Andy Wickham a601341ff5 Add a WindowInsetsAnimationCallback to listen to IME changes.
This handles cases that were previously ignored, such as dismissing
the IME with the back key/gesture.

Removed extraneous manual state updates that were used for specific
cases previously. The only remaining state updates are from our
controlled IME animation in KeyboardInsetsHandler, as that correctly
handles the case where you start closing the IME but end up keeping
it open (or vice versa).

Bug: 277738379
Fix: 320659754
Test: Manually go through various IME transitions on Launcher,
open and close apps, lock/unlock, etc to verify keyboard state
is correctly updated. And verify b/320659754 steps do not repro.
Flag: NA

Change-Id: I4787afbb37eed815b909a0215d8afeb3894ab985
2024-01-23 15:56:37 -08:00
Vinit Nayak 7c7ece3efe Rename isSplitSelectionEnabled() to isSplitSelectionActive()
Bug: 295467097
Change-Id: I5c518c3e7227c034956fb92590b7472ba4a71d39
2024-01-23 15:41:14 -08:00
Sebastian Franco 9ae403298d Updating launcher settings so that they become split-screen
Following this guide:
https://developer.android.com/guide/topics/large-screens/activity-embedding#extract_an_activity_from_a_split_to_full_window

Bug: 204463748
Test: Open the settings app and open multiple settings, for now
only the options inside of the launcher3 package work
Flag: ACONFIG com.android.launcher3.Flags.enableTwoPaneLauncherSettings DEVELOPMENT

Change-Id: Ie6a9eb3760171da92d94cf06376127b02afff8df
2024-01-19 22:33:20 +00:00
Sunny Goyal 1d8ed798a8 Removing binder claas from main thread related to widget sizes
Widget size is deterministic based on device profile, so it can be
set during the loader itself. Any further changes are handled by
workspace

Bug: 318539160
Test: Verified inflated widgets have correct size
Flag: N/A
Change-Id: I84e803a5ccd49bcc6c2a19ab326f6bc1a3d9a5bd
2024-01-17 12:23:56 -08:00
Sunny Goyal d24d33925a Using WidgetInflater in loader task
This removes duplicate logic for widget inflation.
Since the widget inflation can now happen during loader,
the restore logging can also be moved completely to the loader

Bug: 318539160
Test: atest TaplBinderTests
Flag: None
Change-Id: If9f336e7bf49ee7df121d7d9852b674d98124895
2024-01-14 00:56:51 -08:00
Johannes Gallmann 4743cb3b87 Merge "Disable back gesture in Launcher after reboot" into main 2024-01-12 20:24:54 +00:00
Johannes Gallmann 9e91335473 Disable back gesture in Launcher after reboot
It needs to be ensured that `updateDisallowBack` is called at startup after views are created.

Bug: 318786031
Flag: NONE
Test: Manual, i.e. verifying that back gesture is disabled after rebooting the device
Change-Id: I32812101c0e159f5cba41ab419f86de760449906
2024-01-11 12:23:22 +00:00
Sunny Goyal 31e27ed934 Moving widget inflation logic to a separate class
This allows us to reuse this logic at other places

Bug: 318539160
Test: atest TaplBinderTests
Flag: None
Change-Id: I2e19aad207efb3a99bb3b70ba71c076699dba2bc
2024-01-10 10:41:44 -08:00