Commit Graph

268 Commits

Author SHA1 Message Date
John Andrew Camu 448d718e6a feat : Initial implementation Caddy (#5166)
- Introduced "Caddy" functionality to organize apps within the app drawer.
- Allows grouping of applications for better accessibility and user experience.
- Serves as a foundational feature for enhancing app drawer usability.
2025-01-15 13:01:51 +08:00
MrSluffy 9d387bb310 fixed NPE's below R when close folder 2024-12-17 10:22:06 +08:00
MrSluffy 6b5e912e10 enhancement folder related issues
- Closing from app to home where weird artifacts shown
- Duplicated icon after adding new icon in the folder
- Stuck icon when moving from app to home

closes the following
- #5084
- #5081
- #5074
2024-12-15 17:20:02 +08:00
Rafael de Moura Dev df1c9c6525 fix crashes when trying to customize from folders (#5040)
* fixed java.lang.NoSuchMethodError: No interface method toList()

´´´
Ljava/util/List; in class Ljava/util/stream/Stream; or its super classes (declaration of 'java.util.stream.Stream' appears in /system/framework/core-oj.jar)
                                                                                                                            	at com.android.launcher3.model.WidgetsModel.getFilteredWidgetsListForPicker(WidgetsModel.java:99)
                                                                                                                            	at com.android.launcher3.model.WidgetsModel.getWidgetsListForPicker(WidgetsModel.java:122)
                                                                                                                            	at com.android.launcher3.model.BaseLauncherBinder.bindWidgets(BaseLauncherBinder.java:204)
                                                                                                                            	at com.android.launcher3.model.LoaderTask.run(LoaderTask.java:338)
                                                                                                                            	at android.os.Handler.handleCallback(Handler.java:873)
                                                                                                                            	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                                            	at android.os.Looper.loop(Looper.java:193)
                                                                                                                            	at android.os.HandlerThread.run(HandlerThread.java:65)

                                                                                                                            	´´´

* fix crashes when trying to customize from folders
2024-12-04 15:00:44 +08:00
MrSluffy eeb7416bfe Merge branch 'android15-release' into merge-aosp15 2024-09-14 17:29:57 +08:00
MrSluffy fcef4a6d3e Add option folder background opacity
- Closes : #4522
2024-08-18 13:29:55 +08:00
Vinit Nayak 247c6ac8ec Merge "Allow app pairs in folders" into main 2024-04-04 17:55:34 +00:00
Jagrut Desai e0330e17e3 Merge "Folder Title Change Listener" into main 2024-04-03 23:50:44 +00:00
Jeremy Sim a596f589c4 Allow app pairs in folders
This CL substantially refactors folders to be able to take contents of type AppPairInfo. App pairs can now be moved in and out of folders, and launch from folders.

This CL contains only logic and model changes; animation and style changes (for dropping items into folders, color changes to app pair surfaces, etc.) will be in a following CL. Another CL (hopefully) will contain tests. I'm planning to submit them together, but this patch should also be able to stand alone with no issues (except janky transitions).

Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, more to follow in another CL.
Change-Id: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
2024-04-03 16:47:42 -07:00
Jagrut Desai 06a05c3806 Folder Title Change Listener
Bug: 305877212
Test: Manual
Flag: NONE
Change-Id: I10c7e0827a05010720daeb9da7a0be854ee06112
2024-04-03 10:42:15 -07: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
Federico Baron f6fd1f3d46 Merge "Fix bug where folder with 1 icon can exist" into main 2024-03-14 20:02:04 +00:00
fbaron 5645c3ec55 Fix bug where folder with 1 icon can exist
Fix: 329357132
Flag: NONE
Test: TaplDragTest
Change-Id: If381ff56e051c89e9f6162f8a44f8df9e2ae5060
2024-03-14 10:13:00 -07:00
Federico Baron e81e048183 Merge "Fix folder name touch target size" into main 2024-03-08 17:30:21 +00:00
fbaron 0b2253b532 Fix folder name touch target size
With this update, the touch target height for the folder name is now to match the footer height

Flag: NONE
Test: Verified on device with talkback turned on
Fix: 318463992
Change-Id: I77f07280eb54b442efadf7e7373952ea160fc5d2
2024-03-07 09:39:51 -08: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
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
fbaron 1f265cc907 Fix indexoutofbounds in Folder
Flag: NONE
Test: n/a
Fix: 322875847
Change-Id: I14f6ebe135014c806aee310e5919a72a6e8820f7
2024-02-01 13:09:55 -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
MrSluffy cc8f9828ab Merge branch 'heads/android-14.0.0_r18' into 14-dev 2023-12-16 17:18:13 +08:00
MrSluffy 32700b0100 Merge branch 'android14-release' into 14-dev 2023-12-13 18:47:55 +08:00
Thales Lima df643c4540 Merge changes from topic "numFolderRows" into main
* changes:
  Update dump tests
  Make numFolderRows/Columns accept more values
2023-12-11 10:54:04 +00:00
Thales Lima 1faa4edc42 Make numFolderRows/Columns accept more values
InvariantDeviceProfile hold values that are not related to current DP in use. Now other classes get the value correctly from DeviceProfile, and each posture can hold different values, making it akin to iconSize.

Fix: 309800141
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeDisplaysDumpTest
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Change-Id: I32295738585de67205dcd6c8942d08a3d07d169a
2023-12-08 22:00:48 +00:00
Saumya Prakash 86285d477d Ensure Taskbar stashes when launching an app from folder
We use the folder closing callback to trigger a call to stash the
taskbar if an app was launched. We can check whether an app was launched
from a folder based on whether a folder's view is open when
an app is launched. This ensures that the taskbar only stashes after the
folder is done animating.

Flag: NA
Fix: 295296529
Test: Launched an app in a folder on taskbar. Also ensured that other
taskbar behavior remains unchanged.

Change-Id: Ib5a797186978ee960e44b6b62c833eead03bccd0
2023-12-08 20:16:15 +00:00
Thales Lima 09d42d5340 Revert "Make numFolderRows/numFolderColumns accept more values"
Revert submission 25438456-5x5_folder
Reason for revert: http://b/313567919
Reverted changes: /q/submissionid:25438456-5x5_folder

Revert "Use DeviceProfile numFolderRows and numFolderColumns"
Revert submission 25313018-numFolder
Reason for revert: http://b/313567919
Reverted changes: /q/submissionid:25313018-numFolder

Change-Id: I4890016e310c0a2122861f36fcdbf33e98e727c0
2023-11-30 11:47:37 +00:00
Thales Lima 07c6b8d96d Use DeviceProfile numFolderRows and numFolderColumns
Invariant hold values that are not related to current DP in use. This is a change needed for IDP to hold more values in the future akin to iconSize.

Bug: 309800141
Change-Id: Iefb388a5f6590d7da3452d2c388c02bd5e9d32bb
Flag: N/A
Test: NexusLauncherTests
2023-11-21 11:47:21 +00:00
Luca Zuccarini 6ab61069f3 Refine way to trigger the keyboard for a controlled insets animation.
Before we did it as normal just without requesting focus. However, we
also need to not log the new state, as this must happen only after the
controlled animation has completed (or been cancelled).

Bug: 309756056
Flag: NA
Test: manual
Change-Id: I7f1564d2b29d91c9fdb0afce586fe5cc1148bac0
2023-11-14 08:20:40 +00:00
MrSluffy 19bf26dd5a Merge branch 'aosp-13' into 13-wip 2023-10-21 09:52:01 +08:00
fbaron 7f4bbfa599 Fix indexoutofbounds folder preview
The indexoutofbounds issue came from the fact that folder was being animated open when there are no items in preview. It might be a race condition where we try to open the folder at a time where it's actually being emptied. This check should prevent folders from running animateOpen() if there's <= 1 items, avoiding the outofbounds error

Fix: 298740874
Flag: no flag
Test: no test
Change-Id: I31ed53fbdf22a7f19bc9ec414242312afe7c6cd2
2023-09-20 23:57:00 -07:00
Jagrut Desai 311d519292 Fix TaplTestsNexus#testSearchForApp
This cl is 1/2 part change

We are currently getting StaleObjectException when running this test.
We want to implment a synchoronized event beetween test and launcher,
so we know that search result adapter is done updating and page will
get no more updates of search results.

Test: Presubmit
Bug: 232008758
Flag: not needed
Change-Id: I40cf9b83d231a2487220aabc8f8e8c3ca71f255c
2023-09-13 11:09:05 -07:00
Luca Zuccarini 95bc2ce2cc Update usage of ExtendedEditText.showSoftInput().
Fix: 276637107
Flag: N/A
Test: manual

Change-Id: I61eeff5fb69d00b44e7987458a808f59998be676
2023-08-08 15:05:44 +00:00
Sunny Goyal e274d97fe5 Removing support for lagacy shortcuts
> Addition/removal of  shortcus is already removed. This just
  cleans up the unused code path

Bug: 275875209
Test: Updated tests
Flag: N/A
Change-Id: I8ab7f57b693f996920e50e8beecafcffab5167e9
2023-05-17 09:20:45 -07:00
Fengjiang Li 106d91d04c Merge changes I1136ede4,I5f0877fe into udc-dev
* changes:
  [Folder] Fix bug where folder name and page indicator is visible when cancelling folder open animation
  Fix bug where quickly ending folder animation with back swipe caused icons not clipped to folder
2023-05-16 21:20:09 +00:00
Fengjiang Li 533275683b [Folder] Fix bug where folder name and page indicator is visible when cancelling folder open animation
We should resgiter all AnimatorListeners before starting folder open animation.

Fix: 282158620
Test: https://b.corp.google.com/issues/282822254#comment2
Change-Id: I1136ede464f37c174296921594ef887d90844eb5
2023-05-16 10:51:51 -07:00
Charlie Anderson 438d405aab Adding a new Edit Mode LauncherState
- Edit Mode doesn't close after dragging / dropping an app
	- Edit Mode can be entered through options popup menu, Spring Loaded still entered by dragging items
	- Adds new onLeavingState call to launcher states to cleanup changes

Bug: 279590398
Flag: MULTI_SELECT_EDIT_MODE
Test: manually tested the new state with flag on/off

Change-Id: If4550037f9659dcb8cd8b1943388d1ec5d55fa29
2023-05-12 14:54:45 -04:00
Sebastian Franco 57fc157e25 Set start time for open folder animation before starting the animation
The start time of the animation was being set after the animation started
causing the animation to jump to an start time after it already
started wich was very obvious when setting the animation speed to 0.

To test set the aimation speed to zero like so:

  adb shell settings put global animator_duration_scale 0
  adb shell settings put global transition_animation_scale 0
  adb shell settings put global window_animation_scale 0

Fix: 279662507
Test: explained above
Test: FolderScreenShootTest will test it in the future
Change-Id: Id6e10720ffdf64e062e533cd3187f386f57ae906
2023-04-25 16:42:03 -07:00
Sunny Goyal 239d6e9b8d Adding support for customizing shortcut pinning logic
> Allowing support for overring shortcut badge
> Updating pendingShortcutInfo so that the
  handler can be easily overridden

Bug: 268253894
Test: Verified on device
Change-Id: I3184cb6494bc98c7eed33798b35b4e6e6a1e7ddc
2023-02-17 18:07:23 +00:00
Fengjiang Li 6bb8d79549 Predictive back: widget to all apps
This CL adds a layer of OnBackPressedHanlderRouter to Launcher:
1. 4 OnBackPressedHandler(s) are added in such order: auto cancel action mode handler, drag handler, view handler and state handler
2. first handler who can handle back will handle the entire back gesture
3. Let WidgetsFullSheet to handle widget to all apps transition

Bug: b/260956481
Test: manual
Change-Id: Idbce3dcec746226dd68aaabaddc8fe01334e9673
2023-01-24 15:51:46 -08:00
Luca Zuccarini 0a3d67f34f Add support for multiple focus listeners to ExtendedEditText.
Bug: 249952937
Test: manual, see other bug in the topic
Change-Id: I8cc6f525d1a895cc9ee6c6087b51af330d4f25a6
2022-11-17 13:07:16 +00:00
Thales Lima b35faed6e7 Improve spaces for folders
Bug: 214582832
Test: DeviceProfileTest
Change-Id: I7c5cae0792d51baf111d0aec46be302ac6ca9994
2022-11-07 18:23:48 +00:00
Sunny Goyal c5c7da9a8b Removing some obsolete features
PROMISE_APPS_NEW_INSTALLS = true
ENABLE_QUICKSTEP_WIDGET_APP_START = true
FOLDER_NAME_SUGGEST = true
ENABLE_PREDICTION_DISMISS = true
HOTSEAT_MIGRATE_TO_FOLDER = false
ENABLE_DEEP_SHORTCUT_ICON_CACHE = true
ENABLE_THEMED_ICONS = true
ENABLE_ALL_APPS_EDU = true
EXPANDED_SMARTSPACE = false

Bug: 241141733
Test: Presubmit
Change-Id: I72c0c20ab7e214994dc3c3665c90e85d45991a7a
2022-08-02 13:38:38 -07:00
Alex Chau 8a7617f168 Merge "Fix slow page animations on large devices" into tm-dev 2022-05-12 19:08:41 +00:00
Andras Kloczl c2bd15fd2a Fix slow page animations on large devices
- Change non-fling page snap animation duration
- Change fling gesture related minVelocity

Test: Scroll between home pages, allapps, folder pages
Bug: 229073876
Change-Id: Ib39187ec9c832e65dd0b71f8f4a00e1b636423a4
Merge "Hide web settings, if web suggestions is disabled" into tm-dev

Change-Id: Ib39187ec9c832e65dd0b71f8f4a00e1b636423a4
2022-05-12 12:56:41 +01:00
Sunny Goyal f0ff70a2a5 Adding support for easily extending Launcher DragAndDrop support
Bug: 232165524
Test: Verified locally
Change-Id: I3b4f37bc9914de55330662edd678e6fdd0eafece
2022-05-11 21:34:08 +00:00
Suphon Thanakornpakapong 11e1a2fdc8 Merge remote-tracking branch 'aosp/android12L-release' into 12.1-dev 2022-05-08 20:29:17 +07:00
Sunny Goyal 6bc4257d86 Separating refresh rate tracking to a separate class
Bug: 221961069
Test: Presubmit
Change-Id: I04091ebc9f3d88d2dbbde1bf0d5390c815e026d1
2022-02-28 17:13:00 -08:00
Tony Wickham c07fb08a1e Make taskbar focusable when folder is open to get IME input
- Remove ActivityContext#supportsIme(), as it's always true now
- Add OnFolderStateChangedListener, which we register when clicking on a taskbar folder icon to set the window focusable/not.
- Also remove Folder.STATE_NONE and instead default to STATE_CLOSED (renamed from STATE_SMALL).

TODO: make sure back button is visible above IME (followup CL)

Test: Open a folder from taskbar while in an app, no animation jump and can change folder name
Bug: 180051157
Change-Id: I7c7847657d462c16677d66b9ffa8b6fe5f164084
2022-01-12 14:22:31 -08:00
Benno Lin 5261776d3a Update TAPL to operate on folder icons.
The change updates features listed as follow:

1. Create a new class for folder icon.
2. Implement function to drag a icon to the other.
   (create a folder)
3. Find folders in a workspace.

Bug: 199120092
Test: Launcher3Tests:com.android.launcher3.ui.TaplTestsLauncher3#testDragToFolder
Change-Id: I3044025f8297f6e442446d70238f4b56f38a798a
2021-10-25 11:08:44 +00:00
Suphon Thanakornpakapong 47a10063f0 Theme ui elements using accent color palette 2021-10-14 23:57:17 +07:00
Suphon Thanakornpakapong a463238dbd Fix more errors 2021-10-07 09:42:24 +07:00