- Add legacy resource for supported multi-instance apps that
matches the current SystemUI resource of the same name, and will
be removed as apps migrate to the V manifest property to declare
multi-instance support
- Load the multi-instance state from PackageManager when the db is
first loaded or when packages are updated
- The multi-instance check is then used to determine if an app pair
can be saved (ie. whether the action can be shown)
Bug: 323112914
Test: atest NexusLauncherTests
Change-Id: I565b4bee4ab5f7040910306b1fd60a4fc3bf9a1c
> Making SafeCloseable implementation mandatory, to prevent leaks during test and preview
> Removing getNoCreate method and defining executeIfCreated to avoid null pointer exceptions
> Fixing sandbox value leaking into main, by Checking sandbox against App context
> Converting sanbox to an interface instead a class
Bug: 335280439
Test: Presubmit
Flag: None
Change-Id: I951dcde871898e745ff6490a1c4f8fd1512888f5
- This aligns with other app-level state that is read at runtime
Bug: 323112914
Test: atest NexusLauncherTests
Change-Id: I1e29583d1c0302646718473c8958d604c1a202a5
Revert submission 26911513-revert-26414135-RecentsViewContainer-MEROZZOKJQ
Reason for revert: Fix for issue has been found and will be included in this revert.
Reverted changes: /q/submissionid:26911513-revert-26414135-RecentsViewContainer-MEROZZOKJQ
Change-Id: I517e7d2fc0d82d250a6ed40862dd31c194d0a302
Revert submission 26414135-RecentsViewContainer
Reason for revert: Probable culprit for b/333767026. Will be verifying through ABTD for confirmation and before submitting the revert.
Reverted changes: /q/submissionid:26414135-RecentsViewContainer
Change-Id: I25775cd6531355f1dc042ddb7a8d442ee0b36e58
This change will let us move from activity to other parent views for recent views.
Summary: In prep for new recentsview containers outside of activity we needed to decouple recentsview from activity and state.
This change will let us move from activity to other parent views for recent views.
Test: Built and tested locally for 1p and 3p launchers on tablet, and portrait modes. Verified working functionality.
Bug: 292269949
Flag: NONE
Change-Id: I5c72745f438d466362ece988c35a97d829e9c1b4
- Accepts a ui_surface param of format "widgets{_hub}" and existing
widgets on the surface to be excluded from predictions
- Refactored the widgets prediction update task to extract reusable
logic that maps the predictions to widget items and reused it.
http://screencast/cast/NjE1MTA5MDI0NzU2NTMxMnwzMGE3NTMwNi1hZg
Bug: 326092660
Test: WidgetsPredictionHelperTest and see screencast above.
Flag: N/A
Change-Id: I6ceeb752c167893bab4ed496cedc5e8081e1b950
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
Widgets added with tap-to-add do not emit an ITEM_DROP_COMPELTED event,
so this change updates AppEventProducer to check for
WIDGET_ADD_BUTTON_TAP event so that it can emit an ACTION_PIN
event for these widgets as well.
Also moves the stats logging for tap to add to after
Launcher.addPendingItem is called, so that the PendingAddItem's container
is set to CONTAINER_DESKTOP.
Bug: 323886237
Test: manual, add widget and confirm event is produced through logging,
and widget no longer appears in suggestions
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add STAGING
Change-Id: Iaf46a408d05f61864a79f87b23160364b6513323
Also adds a helper in popup data provider to provide categorized
suggestions. Used in follow up CL to update the UI.
Bug: 318410881
Test: WidgetsPredictionUpdateTaskTest and manual with follow up changes
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Change-Id: Ie80e8ba7bbe874f7c4b0e579446edf571036555e
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
> 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
- This also goes through the app predictions pipeline to update
hotseat predictions
Fixes: 316940471
Test: Drag apps to split screen, ensure taskbar predictions update
(also verify by logging AppPredictor#notifyAppTargetEvent)
Flag: None
Change-Id: I844414ecb56b4e36a2c94d913c1fb37abf056593
Currently, every non-foreground user AppTarget Event
is assigned the first userhandle present in the list
of UserProfiles cached with Launcher.
This causes issues when more than one profile is
present, as then appevents from either profiles are
indistinguishable.
This chane fixes that, based upon the recent fixes to
make Launcher and ItemInfo user profile aware.
Bug: 314124511
Test: Manual by clicking diff app targets
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space TEAMFOOD
Change-Id: I188c828eeeff9b617ddf9a75bccea9b9ab38e506
[App Pairs 4/?]
This patch includes:
- Ability to save and launch app pairs with custom 0.3, 0.7, or 0.5 split ratios
- App pairs now save with default name "App1 | App2"
- Grid migration, prediction, and other misc. flows should now work with app pairs
Flag: ENABLE_APP_PAIRS (set to false)
Bug: 274189428
Test: AppPairsControllerTest.java
Change-Id: I46dd3e30f8de03dd3e6d086c8ff9fc52e7e7fd2b
This variable is now mutable, making the uppercase format misleading.
For instance, users might assume they can use this value in other
immutable properties, when they really should be accessing the latest
value every time they need it.
Context: https://source.android.com/docs/setup/contribute/code-style#follow-field-naming-conventions
Test: Manual
Bug: 271160958
Change-Id: Iaaa51d9153cb8a7d686c72e1210b1948029dcfd5
There are no behavioral changes (other than we no longer are recycling
objects while processing workspace items), but this refactor will setup
the next change to load the first workspace page before other workspace
pages.
Bug: 251502424
Test: Workspace, app widgets, and containers loaded properly.
Change-Id: I437aab40000d841d7fcc4380d05ab4a8f5d5c2ad
- After SUW, registerPredictor is called for hotseat, and then BaseLauncherBinder will call bindExtraContainerItems with empty items. A subsequent registerPredictor will then be triggered by LoadTask, but handleUpdate will skip the update due to no diff in PredictorState targets. As a result, HotseatPredictionController always have no items after SUW
- Clearing PredictorState when it's re-registerted will allow the respective prediction controller to receive new prediction items that comes with the registration.
Fix: 265340241
Test: Factory reset, pass SUW, prediction items are in hotseat
Test: Reboot, prediction items are in hotseat
Change-Id: Ie6e219028e7fde42854459d34806a04052dc41ba
This is eventually allow us to move all register to background thread
Also creating a single ScreenOn tracked which is used at multiple places
Bug: 264465756
Test: Verified on device
Change-Id: Ibadf9ca43218e578954420d97a733adfa0a94fc7
Merged-In: Ib410e5bf02773cefde5bf0a0a1f2f1c108718d24
The same lists of extra items stored in BgModelData are also stored in
UI components. This is causing ConcurrentModificationExceptions. The
solution is to clone these lists or mark them as immutable before storing
them in their respective components.
Bug: 206918543
Test: Verified that crash no longer occurs after fix.
Change-Id: I571a2c451af58137aa7513b372b6a8ecf9bd3ff6
> Removing some unused methods
> Moving some specialized methods to corresponding classes
> Removing GridProvider check as it is released
Bug: 257555083
Test: Presubmit
Change-Id: Ib0f8c673d018071d3f4b7d9247e0a35718ab009c
Merged-In: Ib0f8c673d018071d3f4b7d9247e0a35718ab009c
When handling widget prediction, first match the full provider names
Only if no widgets are found, match any widget in the package
Bug: 256202399
Test: atest WidgetsPredicationUpdateTaskTest
Change-Id: I5337618d935f8b926803aeefede46059545de72d
Split from home animation needs to originate from the app icon instead of the menu item icon. This can be useful for other animations in the future.
Bug: 226395821
Test: N/A
Change-Id: If45d80e347ba275bd550b6acd6ad81b319e753a3
Bug: 200841778
Test: Hard-coded the flag to be true, and verified that the snack bar
is shown with the correct text. Also verified that talkback announces
"Item Removed" properly and that the correct log event is produced by
the AppEventProducer which AiAi needs to process the user action.
Change-Id: Ifbb9cf7aecf26cd4bcebf48d4fb07fb3d5af46bb
When dragging an icon in the Taskbar and dropping
it in the same spot it triggers new predictions when
it shouldn't. Basically, it was thinking that the icon
was moved outside of the taskbar which should trigger
new predictions. To fix it, it simply required to change
the order of the events, sending the UNPIN event before
the PIN event.
Bug: 202922907
Test: Have at least two prediction icons in the Taskbar, drag an app icon in the Taskbar, and drop it in the same place the prediction icon shouldn't change
Change-Id: I6079ff6eb69d7b1cb3c22bebc84511c0abd61cec
Loggin query_corrected signal as field is more scalable than separate CorrectedDeviceSearchResultContainer for future usecases.
Test: Manual - http://gpaste/6343087535161344
Bug: 199495917
Change-Id: I6b3a410f4d977db2a058f337d1684f78763acbd2
Make sure that the ArrayList cannot be cleared on the model thread while
it is being used on the UI thread to render a launcher preview.
Test: Manual
Fix: 210123588
Change-Id: I5a47cb3f28f5ac9e400f6ae535e410c345e14ee1
* Whenever launcher setting is changed, only log the changed setting instead of all
Bug: 181703659
Test: wwdebug && wwlogcat AND statsd_testdrive 10108
Change-Id: I9c6b7a17d653038a91f885df455e5ebbb401b49a