Commit Graph

17853 Commits

Author SHA1 Message Date
Brandon Dayauon c2173aac34 Merge "Collapse private space container and animate header." into main 2024-02-19 04:21:56 +00:00
Himanshu Gupta b2ea96303c Merge "Preventing installed PS apps from moving to home screen" into main 2024-02-17 12:55:33 +00:00
Brandon Dayauon 08b06523a5 Collapse private space container and animate header.
- Just opposite of how it will expand.
- RecyclerView.SmoothScroller is needed to scroll the container.

- Need to separate the lock button because this way I can use animateLayout changes and it itself was its own drawable. Separated into icon and textView in a viewGroup.
- Give the background the 10padding on the left and right so that when in animation, the icon can adjust the padding/margins there.
- Using propertySetter to set animation
- Animates the alpha of the settings alpha

- updated test to account for the nested child views the test needs to inspect

bug: 299294792
test: manual:
Expand + Collapse Video: https://drive.google.com/file/d/1Og66eqmXv3THn0wO4_x6Tfp2AbwFWUwZ/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation TEAMFOOD

Change-Id: I96f1d172a481522d23b4cee996ddec65961fce78
2024-02-16 21:23:51 -08: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
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
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
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
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
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
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
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
Piyush Mehrotra b2decf8046 Fix widget restore for pre-archived apps
Widgets which were expected to be restored, were missing for apps which were pre-archived.
The fix adds checks for archived apps when processing widgets and ensures that icon with cloud overlay is present on the widget.

Test: Flashed device with build containing this fix.
    Screenshot right after SuW- http://shortn/_LoLudMXEaT
Bug: 321297173
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: Ic5fd6b5b2a12f7b2b053ee4ec7c5c7330f0d07e1
2024-02-08 15:50:13 +00:00
Shamali Patwa e2849a0de0 Merge "Remove the "expand/collapse" actions on the apps list in 2 pane picker." into main 2024-02-07 22:53:34 +00:00
fbaron 88676ba7bb Fix two pane widget picker bugs
Here we:
-Move no widgets text outside of the right pane so that we can center it
-setInset and change the clipping of children in the views so that we can fix the padding at the bottom when we have 3 button nav
-create selectedHeader where we keep track of the currently selected header in order to refresh the widgets for the selected header on rotation
-when widgets are bound we check if there are no recommended widgets, and if there aren't we select the first visible header

Fix: 324002996
Fix: 324001940
Fix: 323417968
Fix: 323460545
Fix: 323409306
Test: WidgetPickerImageTest
Flag: NONE
Change-Id: Ibd85cb086bb6c2aede6cf79da0c688a1fdaec4e5
2024-02-07 22:36:59 +00:00
Himanshu Gupta ebc985850d Merge "Refreshin App Market Intent on Plus Icon Click" into main 2024-02-07 20:44:26 +00:00