Commit Graph

20057 Commits

Author SHA1 Message Date
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
Anushree Ganjam 9ea1724245 Merge "Add InteractionJankMonitor for backpress from allapps CUJ_LAUNCHER_CLOSE_ALL_APPS_BACK." into main 2024-02-17 00:23:11 +00:00
Anushree Ganjam 06c98fd685 Add InteractionJankMonitor for backpress from allapps CUJ_LAUNCHER_CLOSE_ALL_APPS_BACK.
Jank CUJ's cannot be added in LauncherState since it's aosp code.
Introduced `onBackPressComplete` method so the LauncherState subclasses can override this method to get back press complete call after back press animation is successful. Here we can add necessary jank CUJ's.

Perfetto trace : https://ui.perfetto.dev/#!/?s=3fc6eed848bdd692949ddb3afbdcdf04a7ef0d99cb9a83804ce9e1840492ed66

Test: Perfetto trace. https://screenshot.googleplex.com/5yviY5LxKusnKvF.png
Bug: 319132905
Flag: NA. Adding jank CUJ.

Change-Id: Ia418f06cb76fe4e14c2032c62c2250e9143442f2
2024-02-16 14:35:20 -08:00
Himanshu Gupta 4499fa60f9 Preventing installed PS apps from moving to home screen
During app install in PS, promise app icons and the
installed app icons are added automatically on home screen.
In this change we restrict the same.
Also, checked that enabling `PROMISE_APP_IN_ALL_APPS` still
works for PS apps after this change.

Bug: 325057835
Test: Launcher3 tests
Flag: ACONFIG com.android.launcher3.Flags.private_space_restrict_item_drag TEAMFOOD
Change-Id: Iecff850bcc1cd17a123553a4258943da1ee61fcc
2024-02-16 19:28:58 +00:00
Shamali P b3a4d65bb7 Initial UI changes for displaying categorized suggestions.
Ordering changes and some more UI changes in follow-up.

Bug: 318410881
Test: See screenshots
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Change-Id: I77e7f4dcdda32e2921ae56721cddbe261832f0d8
2024-02-16 18:43:20 +00:00
Tracy Zhou 0c801cbd20 Merge "Guard taskbar / navbar unification logic with whether the device is a phone on top of the flag" into main 2024-02-16 17:51:03 +00:00
Jakob Schneider 6ad28a568e Merge "Fix two flag usages that I missed the last time around when I refactored it into the utilities class." into main 2024-02-16 17:47:34 +00:00
Jakob Schneider f45d7f3450 Fix two flag usages that I missed the last time around when I refactored
it into the utilities class.

Test: N/A
Flag: NA
Change-Id: If2c0824d7dd076bda68ee7d9c4f48889f4c8f4e1
2024-02-16 13:03:59 +00:00
Tracy Zhou 89f72882ce Guard taskbar / navbar unification logic with whether the device is a phone on top of the flag
Test: Rerun the tapl tests
Bug: 325162802
Change-Id: Iffeeb0a60b634e66bc80e4ba45db816cdc8ba564
2024-02-15 22:06:33 -08:00
Sunny Goyal cc1dad0cae Merging multiple implementations of CancellableTask
Bug: 318539160
Flag: None
Test: Manual
Change-Id: Ie855427c2676e0ce76655e4dd67472c0b5e435d8
2024-02-15 13:01:10 -08:00
Vadim Tryshev 451eebd450 Adding logging for for the case whe Launcher activity is not resumed after Back
Bug: 322823209
Test: presubmit
Flag: N/A
Change-Id: I4e9b26ab142f4d69f906eeb6d5ab487babbcbca1
2024-02-15 12:39:27 -08:00
Shamali P 62339981db Use full-width two picker in both orientations in tablets
The change is really for enabling display of categorical suggestions,
so using the same flag.

Bug: 315055849
Bug: 318410881
Test: See screenshots
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Change-Id: Ia98fdd6b827f31a63264128617f6a16ee0716bcc
2024-02-15 18:32:21 +00:00
Shamali P 5fbb0cccad Use derived padding instead of static 300dp for large portrait displays
In tablet, portrait mode, a padding of 300dp was applied to make it
less elongated, but that doesn't scale well across different devices.

So, we use 1/6th of height as the additional padding. This fixes the
existing logic.

Bug: 318410881
Bug: 315055849
Flag: N/A
Test: Screenshot update in cl chain.
Change-Id: Ia9cfe481131f086b66f625069cbf9a7c0343c2c9
2024-02-15 18:32:21 +00:00
Shamali P 933a05a2be Align items in the center within each table row within suggestions.
When differently-sized widgets OR widgets of same size but not filling
space in previews are shown side by side, the top alignment looks odd.

Besides, in the updated UX, we want them to be center aligned.

Bug: 318410881
Bug: 319152349
Flag: N/A
Test: Screenshot update in cl chain.
Change-Id: I52cd7d6a1b5397a3c4c9dea8b072792b3211a8d3
2024-02-15 18:32:21 +00:00
Sunny Goyal 772e0127c3 Merge "Cleaning up some no-op calls during workspace binding" into main 2024-02-15 01:56:02 +00:00
Andy Wickham 1abc0a7f66 Merge "Extract TaskbarViewCallbacks to a separate class + factory." into main 2024-02-14 23:15:55 +00: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
Alex Chau 76502e84f2 Merge "Refactored StateManager logs" into main 2024-02-14 17:40:08 +00:00
Sunny Goyal bbb26c51d6 Merge "Sending original motion events to launcher overlay along with inferred values" into main 2024-02-14 03:49:18 +00:00
Andy Wickham 0ae51bcdb9 Extract TaskbarViewCallbacks to a separate class + factory.
Also log long presses on the taskbar all apps button.

Test: Manual
Flag: NA
Change-Id: Id2bf194f09007bfccff9f83162e4bcfb6562580f
2024-02-13 18:51:48 -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
Brandon Dayauon c2ec07da51 Merge "Fix FastScroller jumping in recyclerView" into main 2024-02-14 00:32:26 +00: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
Andrew Cole 1f36803a6d Merge "Sort Apps During setApps" into main 2024-02-14 00:05:31 +00:00
Willie Koomson fda1b4b0d0 Merge "Use generated RemoteViews preview for widget picker if available" into main 2024-02-13 21:18:45 +00:00
Brandon Dayauon 6bebf0bb80 Fix FastScroller jumping in recyclerView
FastScrolling is jumping crazily when VerticalSnapPreference is set SNAP_TO_START, rather SNAP_TO_ANY may be better.

bug:321835976
Test manual video:
before: https://drive.google.com/file/d/1OOWESXjclndNgDklPq1BXR5HDehqJuPe/view?usp=sharing
after: https://drive.google.com/file/d/1O6wRx4H9R-Di-lPTOY7SwrsxrBPhXHo-/view?usp=sharing
Flag: n/a

Change-Id: I6974c842aa88f6bc7df1011c05eecfde7dad766c
2024-02-13 13:16:49 -08:00
Jakob Schneider 38e4471794 Merge "Version-2: Prioritize the session-provided icon & label for archived apps during unarchival in the iconCache." into main 2024-02-13 19:09:52 +00:00
Willie Koomson fedc18e9a8 Use generated RemoteViews preview for widget picker if available
WidgetCell will use the generated RemoteViews preview to display
previews in the widget picker. It will fallback to current preview
methods if not available.

Introduces WidgetManagerHelper.loadGeneratedPreviews as a utility
function. WidgetManagerHelper is passed into the constructor of
WidgetItem to avoid calling
context.getSystemService(AppWidgetManager.class) for each widget.

Bug: 308041327
Test: atest Launcher3Tests:GeneratedPreviewTest
Flag: ACONFIG com.android.launcher3.enable_generated_previews DEVELOPMENT
Change-Id: I37429057cda83a5321884ace2537038e050b9a58
2024-02-13 18:49:44 +00:00
Charlie Anderson e5b1215a2a Merge "Add additional unit tests for WorkspaceItemProcessor to cover shortcuts and folders. Also cleanup the test suite." into main 2024-02-13 16:51:45 +00:00
Alex Chau 4e6e1555c4 Refactored StateManager logs
- Make the log permanaent behind a DEBUG flag
- Logs are currently enabled with b/279059025 marked as the related bug

Bug: 279059025
Flag: None
Test: Manual
Change-Id: I60a75d73d40d00e7d42292f3d42cc9dd8c9b0825
2024-02-13 15:35:15 +00:00
Charlie Anderson 887f49e231 Add additional unit tests for WorkspaceItemProcessor to cover shortcuts and folders. Also cleanup the test suite.
Bug: 294386159
Test: unit tests and presubmit
Flag: N/A

Change-Id: I33370f2a060d1e07fc7dbd37cc9a883501344551
2024-02-13 10:05:32 -05:00
Alex Chau fba34d89e4 Merge "In bindAllApplications, only switch to NORMAL while in ALL_APPS" into main 2024-02-13 11:37:50 +00:00
Shamali Patwa 028482609c Merge "Set accessibility pane title for right pane on updating content." into main 2024-02-13 00:33:11 +00:00
fbaron 88b89d68fb Restore state of widget picker on fold/unfold
Specifically:
-keep selected tab (personal/work)
-keep search results

Fix: 323406345
Test: WidgetPickerImageTest
Flag: ACONFIG com.android.launcher3.enable_unfolded_two_pane_picker TRUNKFOOD
Change-Id: I919e59484f3af7a2b3b007f5c234055a0f7276b3
2024-02-12 21:13:46 +00:00
Shamali P 13c6727601 Set accessibility pane title for right pane on updating content.
This will let users know that content appeared on right when they
selected an option on left.

Note: This is announced _only_ when content changes.

Bug: 324073588
Test: Manual with talkback
Flag: N/A
Change-Id: Icec3242d8f250f6d19e082a39927165c7b8fc86a
2024-02-12 19:48:41 +00:00
Alex Chau 61d193821e In bindAllApplications, only switch to NORMAL while in ALL_APPS
- Otherwise, it can unexpectedly switch to NORMAL during a swipe up to Overview, causing issues with live tiles

Fix: 288557298
Test: Go to settings, change display size, immediately swipe up to Overview
Flag: None
Change-Id: I1eaf988d488c6662fd291f46a7cc0861664d8d38
2024-02-12 17:37:18 +00:00
Brandon Dayauon 5787a2710c Add home settings toggle featureflag for enablingTwoLineText
- Have shouldUseTwoLine() be decided with the home settings toggle value

bug:316027081
spec: https://www.figma.com/file/uMzPkNMZpb7EyfHDo8usIa/V-%E2%80%A2-Toast-Butter?type=design&node-id=405-384593&mode=design&t=UBkdeuNlAdRh2FGU-0
Test:
Video: https://drive.google.com/file/d/15VUhNVro2fiwv3SzMda1StiPb3PV1eMT/view?usp=sharing
before searchPreferenceScreen: https://screenshot.googleplex.com/3uqdMsZoGSBYb6c
after searchPreferenceScreen: https://drive.google.com/file/d/15dswiHRTnafyhgQA_tL2tRc7vHFWdHbZ/view?usp=sharing
before homeSettingsPage: https://screenshot.googleplex.com/7wsNevxGun2KCCB
after homeSettingsPage: https://drive.google.com/file/d/15m5bjEyewlNHI_h26aygHa7zrgZ5qDF6/view?usp=sharing
AppListSettingsPage: https://drive.google.com/file/d/15hl4ScHBOLgKv3M38HtatMxQw85pgl7t/view?usp=sharing
Flag: enableTwolineToggle DEVELOPMENT

Change-Id: I3ad133dd51dcb97e14ccded730e7737c5049261a
2024-02-12 09:24:48 -08:00
Alex Chau 8cb873d8fb Merge "Use bigger task size in app to overview carousel" into main 2024-02-12 16:17:30 +00:00
Alex Chau beb3053f3b Use bigger task size in app to overview carousel
- Introduced carouselTaskSize that represent size of TaskView in app to overview carousel, that is bigger than size of TaskView in Overview state
- Use nonGridScale and translation to scale TaskView to the desired carousel size
- For current task, inroduced carouselScale and translation to apply similar transformation at the carousel. They will be reset in `onPrepareGestureEndAnimation` after gesture is released and form the grid. Carousel translation can be invalidated and aniamte to 0.
- Fixed current task left/right wiggle that is caused by task shrinks and translate in different direction. Pivot is now moved to top right (or top left for RTL), to align with movement of current task.
- To compensate for the pivot change, current task is translated back to the carousel position by taskTranslation, and again translated by carouselTranslation for carousel -> fullScreen scaling. A complex interpolator is introduced to make current task moves in a vertical straight line rather than a curve.
- Fixed a bug in AnimatorControllerWithResistance when scaleStartResist==scaleMaxResist that causes division by 0. For grid overview, resistance kicks in after reaching carousel size, and current task size won't reduce further
- Added PendingAnimation#addAnimatedFloat that uses animator provided by AnimatedFloat, so the animator can be canceled and reaniamte from AnimatedFloat side; AnimatedFloat now clears the property values during cancel so the canceled animator still referenced by PendingAnimation can no longer change the values

Fix: 318352235
Fix: 308643507
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Test: presubmit
Change-Id: I2872d8b2204798fe5e05c10d08480a81e60bb498
2024-02-12 12:06:05 +00:00
Fengjiang Li 90ebc96e34 Merge "Override Launcher's window bottom inset to 0 on large screen (tablet + unfolded phone) if all display cutouts are at bottom left/right corners" into main 2024-02-11 08:48:58 +00:00
Fengjiang Li 1707575da3 Override Launcher's window bottom inset to 0 on large screen (tablet + unfolded phone) if all display cutouts are at bottom left/right corners
Bug: 321917681
Flag: NONE
Test: manual
Change-Id: I3c41d42e11413c73146c7ef59fc712971e96db19
2024-02-11 04:05:55 +00:00
Sebastián Franco dbd214225d Merge "Removing the Hotseat from the dragNdrop accessibility targets if the dragObject is a widget" into main 2024-02-09 21:25:20 +00:00
Himanshu Gupta b12ff142a8 Making Settings Cog open PS Settings page.
Settings Cog action should direct to PS Settings page
instead of PS entry point page in Privacy&Security Center

Bug: 322484516
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space TRUNKFOOD
Flag: ACONFIG com.google.android.apps.nexuslauncher.Flags.enable_inject_private_space_tile TRUNKFOOD
Test: Launcher3 test.
Change-Id: I2bc7a95d591ccedb343909c159c3cbda2814e6bf
2024-02-09 19:38:45 +00:00
Sebastian Franco 01a134349f Removing the Hotseat from the dragNdrop accessibility targets if the dragObject is a widget
Fix: 319036474
Test: manual
Flag: NA
Change-Id: I7404c02f8ef3c0eee41694729b4d174bcea7c7d4
2024-02-09 10:40:15 -08:00
Piyush Mehrotra 7b2d84c2df Merge "Fix widget restore for pre-archived apps" into main 2024-02-09 18:23:02 +00:00
Jakob Schneider 4f5b60169d Version-2: Prioritize the session-provided icon & label for archived apps during unarchival in the iconCache.
* Also ensures that apps are sorted based on their actual name, so that
  they don't jump around when "Pending.." switches to "Downloading.."
* In case of faillure during unarchival, icons shown are reverted to that of PM supplied ones.

New UI: http://recall/-/gMbThhDGagWFqnJTbQCqSz/fPuzxUuU7cGXCNdygMkXAB

Test: atest CacheDataUpdatedTaskTest.java and locally verified.
Bug: 319495216
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving TRUNKFOOD
Change-Id: I6410482706af900e273fdc6f7cf0b0692442364c
2024-02-09 13:55:41 +00:00
Uwais Ashraf c2f73d9091 Merge "App chip refactor" into main 2024-02-09 13:43:03 +00:00
Uwais Ashraf 99fdf7a75e App chip refactor
- Adds background outline replacing 2 circles + rect approach. This
enables easier shadow drawing code.
- Simplify structure of AppChipView.
- Adds an anchor View to simplify laying out of menu around app chip

Bug: 313644427
Bug: 317007147
Fix: 322760765
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Flag: ACONFIG com.android.launcher3.enable_overview_icon_menu TEAMFOOD
Test: OverviewImageTest
Change-Id: I56c2644779863c083ae475a740a84321b1d0c396
2024-02-09 12:09:42 +00:00
Andrew Cole 8def461aa1 Sort Apps During setApps
We found this potential edge case during the creation of AllAppsSearchImageTest.
Search in all apps uses a binary search which requires the list of mApps to be sorted,
which before the function setApps did not do. This could lead to other edge cases of bugs
either in test or production.

Bug: b/318867282
Flag: None
Test: AllAppsSearchImageTest
Change-Id: Iccd57fa8a51c725e8c161cbdf96f77fdc86d42b7
2024-02-08 12:07:09 -08:00
Federico Baron 1bb90a78f6 Merge "Fix two pane widget picker bugs" into main 2024-02-08 16:58:40 +00:00