This change adds a new education tooltip for pinned taskbar that teaches
users how to use Circle to Search invoked through the action key. It won't run on
transient taskbar or if the user is in 3 button mode. The disclosures at
the bottom of the tooltip link to localized legal agreements for the feature.
Fix: 330401405
Test: Pin the taskbar and observe that the next time an app is launched
the edu shows up. After dismissal it shouldn't show up again.
Additionally, click on the disclosures and ensure they launch.
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning NEXTFOOD
Change-Id: I64aea3004aca77c3ec81b81dea0cfab7a9c1e272
This change updates the tap-to-add code to wait for the animations
between each step (close widget sheet, snap to Workspace page)
to finish before continuing with the next step of the flow.
Bug: 331425905
Bug: 331699050
Test: manual
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add TEAMFOOD
Change-Id: I774b86b429cd2e8a397e5605243056e6cea666b3
This CL adds the ability for an app pair icon to update its title string when package changes are detected. It also reorganizes some code in the app pairs classes for readability.
Fixes: 316051810
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual
Change-Id: I833e4f9766b7da8c0a3a5fb4b9fc050d8897437e
This CL changes the error handling logic in ItemClickHandler to continue with app pair launch when only one app in an app pair is paused. It also changes AppPairIconGraphic so that the disabled state of the app pair is drawn modularly (if only one app is paused, only one app will appear visually paused).
Bug: 330795643
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual
Change-Id: Ieaf0120cced07b6ac0f3eb07c75b66666a8dcc85
The issue is caused by the delay that Launcher handles the rotation; onDisplayInfoChanged that RotationHelper listens to is triggered later than the screen turning on. onDeviceProfileChanged is triggered earlier, but it only receives callback when in foreground. Using both listeners means that if in the background, we can still rely on onDisplayInfoChanged to update, assuming by the delay is tolerable given it takes time to changes to foreground.
Bug: 300929233
Flag: NA
Test: Manual and Perfetto trace in the bug
Change-Id: I5c6983649a38c3e4fe2b8c4a950435ceb07afa5a
When restoring from a tablet because phones don't have
the same table some issues can ocure because we setup a
non valid grid, the correct thing is to setup a default.
Bug: 325285743
Fix: 332964986
Flag: ACONFIG narrow_grid_restore enabled
Test: BackupAndRestoreDBSelectionTest
Change-Id: I28bf02e83dddf5ae84818d879a5e21600eddf67e
For Install button - Disable long press would also disable drag logic altogether.
For apps in PS - Long press is not disabled as it. Drag is disabled in ag/25898351.
Video: https://drive.google.com/file/d/1g5jJ2vebZdiKUwjDMfkUnLwQ1oK1fWXB/view?usp=sharing
Bug: 332572841
Test: manual
Flag: aconfig com.android.launcher3.private_space_app_installer_button trunkfood
Change-Id: I418a31785b25c4f19dde2136747a74811628e92f
This CL updates the color for the app pair background, and adds a way for an app pair icon to redraw as a different color when switching containers.
Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual
Change-Id: I615cb95d51f7c4c120ad306246d9491bf4452229
Some widget will show config activity and immediately dismiss it after user dropping widget onto workspace. This lead to 2 code paths triggered around same time:
1. Drop widget to workspace and show resize frame, after state is transitiion to NORMAL, show workspace
2. Close config activity and Launcher#onActivityResult, which triggers removing dropped widget and extract bitmap, then re-inflate another pending widget and show resize frame
Due to race condition between #1 and #2, we might remove the dropped widget first in #2, then show resize frame in #1 after workspace is transitione to NORMAL, leading showing resize frame at incorrect location
Next CL will fix the slight misalignment of resize frame with widget.
Bug: 331433240
Flag: NONE
Test: manual
Change-Id: Ie02f59b370271d517ed2e91b42d665f44a86095b
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
Notify the appsearch values to systemui through SystemUiProxy.
See http://shortn/_WqYj0buH7R for summary
Bug: 330446188
Test: manual. Side load agsa apk to read the value from AppSearch
Flag: legacy CUSTOM_LPNH_THRESHOLDS enabled
Change-Id: I7bd2688178da48ae8eb9e62e135304cba2fec8ce
When migrating the widgets might dissapear because the appWidgetId
can change and when migrating it's no longer valid.
Bug: 324931424
Bug: 330583877
Test: ValidGridMigrationUnitTest
Test: GridMigrationTest
Flag: NA
Change-Id: Ie41a01470814b252f6bb7e4409d3382951a1d70d
After exiting the search, we clear the search results and hide the
results lists (because that recycler view shouldn't be accessible after it). However, it often doesn't get chance to layout the empty data.
So, the next time we show the search results list again with new data,
it first animates to clear the old results and then animates in the new
ones. In this fix,
[demo](http://screencast/cast/NDg5OTg2NzIyMTU1NzI0OHxhMTk0NzEzZS1hYw), we swap the adapter to remove any old views, because old search results aren't valid anymore. Spoke with yigit who worked on RV in past and they suggested swapAdapter
was fine for this.
Other options explored:
1. set item animator = null; so, it doesn't animate flushing out old
results -> but we want animations
2. delay the visibility update to let layout happen -> but, if we are
hiding the section, why wait making the other UI updates until
layout?
Bug: 274051332
Flag: N/A
Test: Manual
Change-Id: I9f9c5a67b47b5415b2d9e4caa23fd4b6daf7cdea
- Now that we display app logo, it will already be badged. So, another
badge on widget itself is not necessary. Moreover, when widget previews
don't fill bounds, its position feels inconsistent.
Bug: 331838199
Test: Manual (see screenshot in bug comment)
Flag: N/A
Change-Id: Id411d054de634d7735b70fff9540e580b078b741
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
Decision by PM: Set the default LPNH_TIMEOUT_MS to 450ms.
Bug: 311355495
Test: Manual
Flag: legacy CUSTOM_LPNH_THRESHOLDS ENABLED
Change-Id: I07f075a7c73e8038a83b19cdc1091c0c8735f869