Commit Graph

17737 Commits

Author SHA1 Message Date
Rohit Goyal d4b2c8a858 Merge "UI Improvement: Fix unexpected progress bar around app icon added to Workspace after unarchival." into main 2024-01-31 20:42:08 +00:00
Jeremy Sim e96d30bddb Make app pairs respond properly to disabled state
1) App pair member icons are now always redrawn when app pair icon is redrawn, allowing greyed out icons to be updated immediately when an app is disabled.
2) App pairs now check for disabled status when clicked. If one or both of the apps is disabled, app pair will not be launched, and the appropriate error message or affordance will be displayed.

Fixes: 323088270
Test: Manual
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I7f2af75db0d8579d5d04583c0d3ead32714768e4
2024-01-31 16:01:55 +00:00
Rohit Goyal 9ab4550ac3 UI Improvement: Fix unexpected progress bar around app icon added to Workspace after unarchival.
* In case app icon is added to workspace after unarchival completes for archived app, it shows a completely filled progress bar around the icon.
* This behaviour exists because the 'FLAG_ARCHIVED' flag is copied from `AppInfo` item.
* This cl updates the 'FLAG_ARCHIVED' flag for 'AllApps' item once unarchival completes.

Test: verified bugfix locally.
Bug: 319213296
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: I739225707a11bc9a6aa23e81775b4e036ce81a7e
2024-01-31 14:53:01 +00:00
Shamali Patwa d3f5010ac5 Merge changes from topic "categories" into main
* changes:
  Add a default widget category provider that uses application category.
  Add a feature flag for displaying categorized widget recommendations.
2024-01-31 02:24:05 +00:00
Anushree Ganjam 8ee9076f0e Merge "[PS] Show "Uninstall" in Long Press menu for Private Space apps." into main 2024-01-31 02:22:11 +00:00
Anushree Ganjam 45ef544ae5 [PS] Show "Uninstall" in Long Press menu for Private Space apps.
Video : https://b.corp.google.com/issues/319250810#comment18

- Add SecondaryDropTarget.performUninstall()
- Make SecondaryDropTarget.getUninstallTarget() public static.

Test: Manual
Flag: aconfig com.android.launcher3.enable_private_space TEAMFOOD
Bug: 319250810

Change-Id: If6488033a976914fdc0a50658fc0561dc1a6586a
2024-01-30 16:54:04 -08:00
Shamali P c5fbb42dcb Add a default widget category provider that uses application category.
The category provider can be customized by any launcher via resource
override. For instance, one can override it to provide custom categories
using an allowlist or use a different mechanism such as query play
services.

We still need to get proper strings for categories from UX writer.

Bug: 318410881
Test: WidgetRecommendationCategoryProviderTest
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Change-Id: I5c4e0d22eaffc8254ddd54356f8c62f00e22a3c4
2024-01-31 00:43:22 +00:00
Jakob Schneider ac7c1e3736 Merge "Initialize the archiving compat options during launcher3 startup." into main 2024-01-30 21:37:30 +00: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
Jakob Schneider 2f609d09f6 Initialize the archiving compat options during launcher3 startup.
This just sets an OP_CODE (cheap operation). It disables a help-dialog
for launchers who have not implemented archiving.

Test: PackageInstallerArchiveTest and also manually
Bug: 302114748
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: Ifa9335d7ad250218eec3863dcdd986118bba007c
2024-01-30 18:48:16 +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
Anushree Ganjam 43a826c579 Merge "Fix the Int value to reflect shared preferences value in TouchInteractionService." into main 2024-01-29 23:15:56 +00:00
Anushree Ganjam eb5cb75753 Fix the Int value to reflect shared preferences value in TouchInteractionService.
This cl fixes following things

- When featureFlag is present, always read the value from FeatureFlag.get() instead of preferences.

- Add new function getIntFlagBackedUpByLauncherPrefs to read from sharedPreferences

- Make FlagTogglerPrefUi.java updateMenu() public

- When intFlag is modified in Developer Options, Apply button will show up. So launcher can restart and values get applied.

- Omnient Int flags will read from Featureflag.get() instead of shared preferences directly.

Bug: 320696242
Test: Manual
Flag: NA. Developer Options related

Change-Id: Id916b25d0397505d240ea8444d896c8ace826e57
2024-01-29 14:02:32 -08:00
Sunny Goyal ac1c83e657 Merge "Cleaning up release flag: ENABLE_ICON_LABEL_AUTO_SCALING" into main 2024-01-29 21:06:54 +00:00
Charlie Anderson 9147575693 Merge "Add unit tests to WorkspaceItemProcessor for processing apps" into main 2024-01-29 20:27:13 +00:00
Sunny Goyal 7891425109 Cleaning up release flag: ENABLE_ICON_LABEL_AUTO_SCALING
Bug: 270393294
Flag: N/A
Test: N/A
Change-Id: Ied7e21150e8176f044615959d20e75bb1cad7dfa
2024-01-29 11:18:29 -08:00
Helen Cheuk 8ede3c7db6 Merge "Draw outline inside the view so it would not be cut off" into main 2024-01-29 14:00:28 +00:00
helencheuk 3d6c2d9bc0 Draw outline inside the view so it would not be cut off
Before: https://screenshot.googleplex.com/C2iwZxYV3KocTQq
After: https://screenshot.googleplex.com/BC9YYtm8GngssNF

Bug: 310953377
Test: Manual, navigate to the folder icon by keyboard, press enter to open and go to the bottom row app icon
Flag: ACONFIG com.android.launcher3.enable_focus_outline Staging
Change-Id: Iad5a081ef3838d2728f8845c4fa2ef726b2c781b
2024-01-29 12:15:22 +00:00
Charlie Anderson ca6f66cd88 Add unit tests to WorkspaceItemProcessor for processing apps
- also slightly improve some log messages and simplify some code

Test: presubmit / unit tests
Flag: None
Bug: 294386159
Change-Id: I6f75c0d34bf475d4e20d6250f67a56d5394b9c4e
2024-01-26 15:42:51 -06: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
Himanshu Gupta eaeb666e43 Merge "Separating system and user-installed apps in PS container." into main 2024-01-26 14:22:19 +00:00
Himanshu Gupta 0cc11dbcac Separating system and user-installed apps in PS container.
We add a horizontal line separator in PS container which demarcates
user-installed vs system installed apps in private space.
User-installed are shown above the separator, system ones below.

UX Mock: https://www.figma.com/file/K6bIIcG882EiJNjxvSWsFT/V%E2%80%A2-Private-Space?node-id=11546%3A310574&mode=dev
Mock Image: https://photos.app.goo.gl/Wj8sJkS7P7bRbovg8
Demo video: https://photos.app.goo.gl/MBw6HpDnf6PJqUfs8

Bug: 308054233
Flag: ACONFIG com.android.launcher3.Flags.private_space_sys_apps_separation DEVELOPMENT
Test: AlphabeticalAppsListTest
Change-Id: Iad8e289c49a05ac7ef1978bd8e4ebe7aa0add0ca
2024-01-26 11:04:13 +05:30
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
Brandon Dayauon b629cfef51 Merge "Change expand animation for private space container." into main 2024-01-25 18:48:31 +00:00
Sebastián Franco a808e7ea98 Merge "Moving ReorderPreviewAnimation into it's own file and rewrite to Kotlin." into main 2024-01-25 17:16:25 +00:00
Himanshu Gupta d9026196d2 Merge "Restricting Accessibility flows for Private Profile." into main 2024-01-25 04:19:35 +00:00
Himanshu Gupta f591ce5f17 Restricting Accessibility flows for Private Profile.
Adding PS apps to the home screen is restricted.
This CL prevents the same from accessibility drags.

Bug: 289223923
Flag: ACONFIG com.android.launcher3.Flags.private_space_restrict_accessibility_drag DEVELOPEMENT
Test: Ran Launcher3 Tests.
Change-Id: I3e2b7b196b96a4d2ba34d8ece5fd6e0463f17253
2024-01-25 04:19:20 +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
Sebastian Franco f7654252b1 Moving ReorderPreviewAnimation into it's own file and rewrite to Kotlin.
This will make it easier to write unit testing.

Fix: 294473336
Test: manual testing
Flag: NA
Change-Id: I2d6cfd8110c5c2ef09c49150a0bd071bc948995c
2024-01-24 14:04:48 -08:00
Sebastián Franco a37a99a156 Merge "Making sure the reorder animation goes back to the initial position." into main 2024-01-24 17:55:14 +00:00
Vinit Nayak 5f3b761451 Merge "Rename isSplitSelectionEnabled() to isSplitSelectionActive()" into main 2024-01-24 05:53:44 +00:00
Holly Jiuyu Sun 766b80bb91 Merge "[PS] Log event for private space add button click." into main 2024-01-24 00:03:21 +00: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 e2910d84ee Making sure the reorder animation goes back to the initial position.
The animation ReorderPreviewAnimation handles two animations, one when
the mode is MODE_HINT and the other MODE_PREVIEW. The animation is
basically the same but MODE_PREVIEW ocilates to finalDelta and back
to initDelta. MODE_HINT stays in finalDelta. When finish, we have to
go back to the initial position.

This behaviour is currently done using logic, making sure the view stays
in finalDelta no matter the value of the animation, the bug is in this
logic. I think is better to do this with the current animation API by
setting setRepeatCount to 0 on the HINT case and reverting the animation
when finish so it goes back to the initial position.

This seems to have been there for a long time, at least since the
creating of git_main, but it became more aparent now. In a follow up cl
I will move this class to it's own file and into kotlin to help if there
are issues here again.

Fix: 294473336
Test: manual testing
Flag: NA
Change-Id: I4ac5de3ce8a8170944a072c6ce41c65d0963a780
2024-01-23 15:33:49 -08:00
Brandon Dayauon aa9005612b Change expand animation for private space container.
Only scroll to bottom. Don't use the animation.

bug: 299294792
test: manual:
video: https://drive.google.com/file/d/134Mq0MX0xauRfkNv8LGXOZgweRjqrmTa/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation TEAMFOOD
Change-Id: Ie6666638a53e334bddb1700674c2c49eb5788a06
2024-01-23 11:47:27 -08:00
Himanshu Gupta 4b75bca8c9 Merge "Allowing ProxyActivityStarter without result." into main 2024-01-23 11:03:13 +00:00
Himanshu Gupta 70fd052cd9 Allowing ProxyActivityStarter without result.
This is required in some cases, when we do not want
the Launcher (ProxyActivityStarter) Activity to come
in recents.

Bug: 320664417
Flag: ACONFIG com.android.launcher3.private_space_app_installer_button TEAMFOOD
Test: Manual build and flash.
Change-Id: I94d9dfab19f8a2410fa82adc0c0c22a3ac238a0b
2024-01-23 05:17:20 +00:00
Vinit Nayak 40f5f0102d Merge "Remove app pairs when their member apps are uninstalled" into main 2024-01-22 20:28:23 +00:00
Federico Baron dc2f747213 Merge "Fix nested scrolling in two pane picker left pane" into main 2024-01-22 19:38:46 +00:00
fbaron db1e3d53e3 Fix nested scrolling in two pane picker left pane
Fix: 319151078
Test: Verify there's no nested scrolling
Flag: NONE
Change-Id: Ic974c85e1845f45aa0646a1ebf29696f75c9ab90
2024-01-22 09:00:57 -08:00
Jeremy Sim 48467438da Remove app pairs when their member apps are uninstalled
This patch modifies PackageUpdatedTask.execute() to also remove app pairs when their member apps are uninstalled.

Fixes: 316050282
Test: Install App A, create an app pair containing App A, uninstall App A.
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I8487a2dfcfc6d29bd55e88003d1950078c6e2e31
2024-01-22 17:50:12 +08:00
Sebastián Franco 82d88d3fdc Merge "Updating launcher settings so that they become split-screen" into main 2024-01-22 04:58:09 +00:00
Sunny Goyal 3ef2768922 Merge "Simplyfing SystemShortcut rendering" into main 2024-01-20 01:11:36 +00: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
Charlie Anderson 97b0c90ae0 Merge "Fixes bug where app suggestions incorrectly calculate available space when bottom row is full" into main 2024-01-19 20:29:21 +00:00
Sunny Goyal 9f226dff72 Simplyfing SystemShortcut rendering
Instead of opening the popup again when the status of AppSharing
changes, updating the UI in-place.

Bug: 321179015
Test: Presubmit
Flag: N/A
Change-Id: I6d7bd8cdf2014fd881324347e3e01b8e7e84ef1e
2024-01-19 10:48:54 -08:00