Commit Graph

20057 Commits

Author SHA1 Message Date
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
Charlie Anderson 4612239a61 Fixes bug where app suggestions incorrectly calculate available space when bottom row is full
Bug: 318417510
Flag: N/A
Test: manually tested toggling app suggestions with the bottom row filled / not filled
Change-Id: I25461aefa8db93a1c2548604c0ea15c9a12ae688
2024-01-19 13:07:11 -05:00
Sunny Goyal e0c1649d87 Cleaning up some unused notifications functionality
Bug: 321154530
Test: Presubmit
Flag: N/A
Change-Id: I1ff2a4f19595659d89e7d72ee1b29036bbd54d8f
2024-01-19 00:21:02 -08:00
Rohit Goyal d16a574524 Merge "Add support for progress bar for archived apps in AllApps view." into main 2024-01-18 17:56:04 +00:00
Saumya Prakash b617daa6c6 Merge "Add standalone taskbar edu tooltip for the pinnable taskbar feature" into main 2024-01-18 01:41:14 +00:00
Holly Sun 70d8ecbcfe [PS] Log event for private space add button click.
Bug: 320702146
Test: manual
Flag: ACONFIG com.android.launcher3.private_space_app_installer_button teamfood
Change-Id: I2ea6b215d4bce93e682c260242a6c3a7cb31922f
2024-01-17 16:09:08 -08:00
Anushree Ganjam cbfa8043c8 Merge "Add "Don't suggest app" shortcut to suggested apps." into main 2024-01-17 22:25:17 +00:00
Sunny Goyal d76c458c5a Merge "Removing binder claas from main thread related to widget sizes" into main 2024-01-17 22:17:27 +00:00
Saumya Prakash dddebdff0c Add standalone taskbar edu tooltip for the pinnable taskbar feature
This change adds in a standalone edu window for the pinnable taskbar
feature. The reason for the change is to educate users about pinnable
taskbar to those who have already seen taskbar edu before.

Fixes: 302589411, 300161174
Test: Went through taskbar education taskbar with the flag on and off.
Check that the standalone pinning taskbar only shows up if previous
taskbar education was already completed.
Flag:  ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED

Change-Id: I03a5fb05ae5f15892421a57355f6d503de56d9fd
2024-01-17 21:23:30 +00:00
Andy Wickham 32f2cae290 Merge "Allow stashed taskbar to be long pressed." into main 2024-01-17 21:09:15 +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 7c44333f0e Merge "Using WidgetInflater in loader task" into main 2024-01-17 19:21:31 +00:00
Rohit Goyal 04fe042e83 Add support for progress bar for archived apps in AllApps view.
Working Video: https://drive.google.com/file/d/1-cSD63FQLmqyeTkUuXqcSsjb03m31ULO/view?usp=sharing

Test: TaplPromiseIconUiTest
Bug: 302115555
Bug: 317108448
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: Iebaa338789430c5e0a004bd8b05bdbda87cd986e
2024-01-17 22:49:08 +05:30
Anna Zhuravleva 9de29f211a Merge "Do not show install shortcut for Settings" into main 2024-01-17 17:18:33 +00:00
Anna Zhuravleva d986fda1d5 Do not show install shortcut for Settings
Private profile shares Settings with the main user,
this change disable showing "Install to private"
long-press shortcut for Settings.

Bug: 316118005
Test: long press on Settings app
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space_install_shortcut DEVELOPMENT

Change-Id: Iecc0bdf60879ce5c74288942d39bbb3add68fd9c
2024-01-17 16:06:38 +00:00
Helen Cheuk 456c085338 Merge "Configured color attribute properly for focus outline" into main 2024-01-17 10:55:53 +00:00
Himanshu Gupta 7b1858cbf2 Merge "Adding suport for Private Space QsTile fulfillment." into main 2024-01-17 07:00:10 +00:00
Andy Wickham caf0c35661 Allow stashed taskbar to be long pressed.
Bug: 319175012
Test: Manual and unit test
Flag: NA
(see other change)

Change-Id: Ic8ac68d21c64a909a1035339d36f9c3b50a8963c
2024-01-16 21:43:46 -08:00
Vinit Nayak d0791af29b Merge "Add log when user attempts to split with widget" into main 2024-01-17 04:10:58 +00:00
Shamali Patwa 1cc90d802d Merge "Fix issue that widget picker is only half of screen in foldable." into main 2024-01-17 00:05:15 +00:00
Vinit Nayak 701d267b05 Add log when user attempts to split with widget
Bug: 295467097
Flag: none

Change-Id: Ice6cdc7a2db85c8efca7d4e1bc74a0cdc367a9ab
2024-01-16 23:54:19 +00:00
Shamali P be55f82fab Fix issue that widget picker is only half of screen in foldable.
Apply the extra top padding only if device is in portrait and aspect
 ratio is beyond 1.5 to keep the original intent of avoiding showing
 a single pane widget picker in super elongated form. In b/214215594,
 a top padding was applied for w720, but in fold, it ended up showing
 the picker only half way up. So, changed it to consider aspect ratio.

In b/315055849 the tablet portrait will use full width two pane picker,
and then, it will also not need this extra top padding. In that change,
we will use the flag to guard applying this extra padding.

See screen/cast/NTYwMjU1MzY4NDI5NTY4MHw3NDIxYzU0Mi1lNg

Test: WidgetPickerImageTest and Manual (screencast above)
Bug: 317013493
Flag: N/A
Change-Id: I90e0c416f0f05460960983588edf0068d99cd1a6
2024-01-16 16:04:00 +00:00
helencheuk 2691cdfa8b Configured color attribute properly for focus outline
Bug: 310953377
Test: Manual
Flag: ACONFIG com.android.launcher3.enable_focus_outline Development
Change-Id: If85c33ecea3241e69927917e910386d0346ef43b
2024-01-15 18:35:11 +00:00
Himanshu Gupta ce495f13e3 Adding suport for Private Space QsTile fulfillment.
Adding logic to unlock private space and
scroll to the container after unlock event
is received by Launcher.

This change also moves pieces of Private Space
Animation to different classes, in order to make
it more robust.

Bug: 289024009
Test: atest PrivateProfileManagerTest
Flag: ACONFIG com.google.android.apps.nexuslauncher.inject_private_space_tile TEAMFOOD
Change-Id: Ica2fbc00ff3516ed5aca7fbbfc0bd2aa036a4cee
2024-01-15 18:43:27 +05:30
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
Stefan Andonian 22c4399105 Merge "Split LoaderTask.processWorkspaceItem into separate methods." into main 2024-01-13 00:25:13 +00:00
Sunny Goyal 39f235154e Merge "Fixing some launcher model tests" into main 2024-01-12 23:04:39 +00:00
Federico Baron e29666681b Merge "Don't reset search in two pane sheet" into main 2024-01-12 22:35:00 +00:00
Jagrut Desai fff93577e8 Merge "Update enableTaskbarNoRecreate logic" into main 2024-01-12 22:31:15 +00:00
Stefan Andonian 808e4f32f0 Split LoaderTask.processWorkspaceItem into separate methods.
Right now, processWorkspaceItem is almost impossible to fully
understand. It is a behemoth of a method that handles everything
possibily related to processing a workspace item.

In order to make life easier for developers, it is being split into
smaller methods that deal with limited functionality each, and are
commented / named well. These can also be individually unit tested, so
developers don't have to use mock data anymore to test even the smallest
bit of functionality.

Bug: 318398886
Test: Manually verified that the workspace loading behavior still works
on device.
Flag: None, this is just a copy/paste refactor.

Change-Id: I040bce708cada5b29cf3488ddf37ccc8d7af8282
2024-01-12 22:22:01 +00:00
Charlie Anderson 9fc2fa34b3 Merge "Replace ENABLE_LAUNCHER_BR_METRICS flags with fixed aconfig flag." into main 2024-01-12 21:37:17 +00:00
Sunny Goyal 6449a21062 Fixing some launcher model tests
> Removing static mocks and using Sandbox context instead
> Removing inheritence in LauncherModel and converting LauncherApps.Callbacks
  to a separate class. decMaker sometimes fails because of API changes in
  LauncherApps.Callbacks

Bug: 319877828
Test: atest LoaderTaskTest
Flag: N/A
Change-Id: If78b5d83595627a355b284f52d887d75fef53014
2024-01-12 12:30:52 -08:00