Commit Graph

694 Commits

Author SHA1 Message Date
Vinit Nayak 6106ae9ac7 Add logs for PackageUpdatedTask
* That's the bit that updates new packages for work profile,
at least from command line.
* There is variability in how long it could take work profile
apps to show up, from 2-8 seconds.

Bug: 243688989
Change-Id: I710befc5f17b4a16bff523eb03f1e88975cafd43
2023-04-26 13:21:57 -07:00
Jeremy Sim 6e0f34cc0a Merge "App Pairs (behind flag): Add new ItemInfo types and DB save functionality" into udc-dev 2023-04-22 03:21:17 +00:00
Jeremy Sim 7cf0dd9e03 App Pairs (behind flag): Add new ItemInfo types and DB save functionality
This is the second of several patches implementing the App Pairs feature behind a flag.

This patch includes:
- AppPairsController, a new controller that will handle creation, launching, and deletion of app pairs
- ITEM_TYPE_APP_PAIR is a new type of FolderInfo (FolderInfo now can be either a folder or an app pair, and should probably be renamed to CollectionInfo or something more generic in future)
- Necessary plumbing for these new types
- Database code that handles saving a new app pair to the database with the correct schema

Flag: ENABLE_APP_PAIRS (set to false)
Bug: 274189428
Test: Not included in this CL, but will follow
Change-Id: Ie3aefd4eb9171f471789f54876de742849d3013b
2023-04-21 14:23:54 -07:00
Vinit Nayak b642666e72 Merge "Add logs for work tab missing" into udc-dev 2023-04-19 03:34:39 +00:00
Vinit Nayak f89438718f Add logs for work tab missing
* Start tracing where launcher goes after
it gets the broadcast for new work profile user
unlocked

Bug: 243688989
Flag: None
Change-Id: I53ccab743ac5dd2aee6b7ff6e440bcf731387119
2023-04-18 13:57:33 -07:00
Sunny Goyal ce953a36ec Moving ModelDbController from LauncehrProvider to LauncherModel
Migrating some of the class to use the controller directly, will
update the remaining calls in follow up cls

Bug: 277345535
Test: Presubmit
Change-Id: I8edc7c43665f94702ac64bd92932d6c94cb544a4
2023-04-14 14:13:17 -07:00
Sunny Goyal 348e518b2c Merge "Using a runtime generated layout for tests instead of defining xml" into udc-dev 2023-04-14 18:12:57 +00:00
Sunny Goyal ab2f808196 Using a runtime generated layout for tests instead of defining xml
This allows support for easily setting up default layouts

Bug: 277345535
Test: Presubmit
Flag: N/A
Change-Id: I1c089d60ac3f8add8d7e1060d343e04d30afe094
2023-04-12 22:54:14 +00:00
Sunny Goyal eb27546cc3 Removing remaining code around ENABLE_DATABASE_RESTORE
ENABLE_DATABASE_RESTORE feature is already removed
Also migrating some tests from BackupRestoreTest to RestoreDbTaskTest

Bug: 270392706
Test: Presubmit
Flag: N/A
Change-Id: I71822bbc2232008b3d2b4b9fbed0db5d889591e4
2023-04-12 15:52:35 -07:00
Sunny Goyal 1ae46ca868 Moving all DB management logic from LauncherProvider into a separate class
This would make it easier to move the controller to LauncherModel

Bug: 277345535
Test: Presubmit
Flag: N/A
Change-Id: I4d044cf41361f400968ef65e18de5d3976fcdec7
2023-04-11 11:46:40 -07:00
Sunny Goyal 84b48d8deb Removing support for adding legacy shortcuts.
All existing legacy shortcuts will be migrated one-time to deep shortcuts
This shortcuts are pinned under the Launcher package, with custom badging

Bug: 275875209
Test: Updated unit tests
Flag: N/A
Change-Id: I7da001f724776ad8d6c807517b7e4e259de626c2
2023-04-10 12:28:52 -07:00
TreeHugger Robot 643253d433 Merge "Moving DatabaseHelper to it's own class outside of Launcher provider" into udc-dev 2023-04-10 18:33:39 +00:00
Stefan Andonian eac832aedd Merge "Load Delegate Items in correct order when loading Launcher Data." into udc-dev 2023-04-10 18:26:25 +00:00
Sunny Goyal ba2795827b Moving DatabaseHelper to it's own class outside of Launcher provider
Bug: 277345535
Test: Presubmit
Flag: N/A
Change-Id: Ib8c94ceb954172dc27e357be2face06d50d399dd
2023-04-10 09:15:18 -07:00
Stefan Andonian e4609a27bd Load Delegate Items in correct order when loading Launcher Data.
Bug: 251502424
Test: Loaded and bound the workspace properly.
Change-Id: Ia6d609ffa21c5036cb48e464d3e8d4fa561cb008
2023-04-10 15:46:12 +00:00
Schneider Victor-tulias 4217c930cc Cleanup ENABLE_BULK_WORKSPACE_ICON_LOADING
Flag: ENABLE_BULK_WORKSPACE_ICON_LOADING
Fixes: 270392203
Test: restarted device
Change-Id: Iac6c3da1fb7cfc5c9f7e947b3caf679a50133343
2023-04-07 17:13:52 +00:00
Schneider Victor-tulias aba2d9796e Cleanup ENABLE_BULK_ALL_APPS_ICON_LOADING
Flag: ENABLE_BULK_ALL_APPS_ICON_LOADING
Fixes: 270392465
Test: restarted device
Change-Id: I2fe963a512632919c12e1caaf54b2aa8ecd5a3b5
2023-04-05 15:39:51 -07:00
Jon Miranda 4202d43e48 Merge "Tune springs when app animates home into the hotseat on devices with a taskbar." into tm-qpr-dev am: fad8c1c449 am: 03bb5fe49c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22146526

Change-Id: I0adde19b10d0bf6c25c5025453fd361a0804cf62
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-20 22:12:54 +00:00
Jon Miranda 18c53ac26b Tune springs when app animates home into the hotseat on devices
with a taskbar.

Thought about using the Builder pattern here but the CL becomes
much larger due to SwipePipToHomeAnimator having its own
Builder.

Bug: 268026344
Test: swipe up to close app thats in hotseat
      swipe back to close app thats in hotseat

Change-Id: Idd0729224374579753fc91c7820f3b04a7d3e1a4
2023-03-20 10:56:43 -07:00
Stefan Andonian a353283ec6 Merge "Allow Binding the First Workspace Page before the Rest." into tm-qpr-dev am: df57fd822c am: 0714e68ce7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/21546153

Change-Id: I23a96ced9d64fb66f1228ee41896975af13ae848
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-13 22:05:35 +00:00
Stefan Andonian 9abd8cbf14 Allow Binding the First Workspace Page before the Rest.
The way WorkspaceBinder is currently setup, any calls to
bindWorkspace will result in the entire workspace being bound
all at the same time. These edits change that. Now callers
like LoaderTask can bind the first workspace pages before the
rest by splitting the WorkspaceBinding into 3 methods that
need to be called in order, but can happen at a staggered cadence.

Bug: 251502424
Test: Loaded and bound the workspace properly.
Change-Id: I28fa721ea95dae2df03e27f600653ba5bebe3ef1
2023-03-08 04:23:43 +00:00
Schneider Victor-tulias 501647451f Merge "Add debug logs to debug flaky workspace binding" into tm-qpr-dev am: cd17310656 am: 4f4962fbc9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/21542943

Change-Id: If92717381b6f7ae5b958098141edb3dfa43f91bc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-24 22:50:35 +00:00
Schneider Victor-tulias 6b94a960c0 Add debug logs to debug flaky workspace binding
Bug: 270216650
Test: ReorderWidgets
Change-Id: I6fa2eab98c0268000ef4c44980c2917d5ef1bc89
2023-02-22 13:05:13 -08:00
Sunny Goyal 7a0db411ed Merge "Using internal format cache for loading user badged label" into tm-qpr-dev am: 82864d5e13 am: 0db958a5a2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/21237542

Change-Id: Ic434ba42613625ff988540cdb6bb3afd8f6ce3bc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-20 20:33:29 +00:00
Sunny Goyal efad3c2f92 Using internal format cache for loading user badged label
Bug: 267683009
Test: Manual
Change-Id: I7d1df2704c4513bd80e2b6adb7a3921637fa617b
2023-02-17 18:05:25 +00:00
Stefan Andonian 24cff2fa3e Merge "Refactor Workspace Loading / Processing code." into tm-qpr-dev am: 3a14f1331d am: 8775725e06
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/20544534

Change-Id: I41e7ca11f4462407f73ac6ec4dc16d9fa619a1ee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-15 22:57:29 +00:00
Stefan Andonian 05ca3a8089 Refactor Workspace Loading / Processing code.
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
2023-02-15 17:36:27 +00:00
Anthony Alridge edd886b550 Update strings when work apps are paused
Test: Manually tested - screenshots in bug
Change-Id: I0b7b633f1eb71829752c991018e7c260f22d8cbb
Bug: 258628706
2023-02-14 23:52:35 +00:00
Sunny Goyal 126ac14112 Merge "Introducing CellPosMapper which allows mapping between UI position and model position" into tm-qpr-dev 2023-01-31 18:20:35 +00:00
Sunny Goyal 669b71f5b3 Introducing CellPosMapper which allows mapping between UI position
and model position

Test: atest CellPosMapperTest
Bug: 188081026
Change-Id: If5c6b3df5ad240317bb535c675f6ead94084238e
2023-01-30 12:17:09 -08:00
Luca Zuccarini 2098381808 [Toast] Introduce SysUI's animation library to the transition manager.
Bug: 250588519
Test: manual, see videos in bug
Change-Id: Iccc440c95ecc14d39e35d911798e239b698b950a
2023-01-27 13:49:40 +00:00
Stefan Andonian d1b33b311c Expanded LauncherPrefs APIs to Replace Direct Shared Preference Usage.
LauncherPrefs will contain Launcher's shared preference functionality.
It controls optimizations and classifications such as restorable vs
non-restorable data, bootaware vs non-bootaware data, and configurations
such as default values  so the calling code doesn't need to and our code
base can have a single source of truth for items that are used in
multiple places.

The old APIs remain in place, but are deprecated and will be removed
after all Shared Preference usage has been gated by LauncherPrefs in
future CLs.

Bug: 261635315
Test: Manually tested themed icon, Workspace configuration, and app
install functionality.

Change-Id: I29fd516468bc93fda393062e95be26b6d55c816e
2023-01-14 00:54:15 +00:00
Stefan Andonian e82476ad3b Rename LoaderResults to LauncherBinder.
LoaderResults implies a data object, not binding code specific to
Launcher UX containers. This CL merely renames this class and its
usages. It also adds a comment that explains why the functionality is
split into a base class and an implementing class.

Bug: 251502424
Test: Compilation worked correctly.
Change-Id: I01b5ac2f717e9b20612538d5c1e0ca947beb593f
2023-01-11 20:32:25 +00:00
Schneider Victor-tulias 5455b85291 Revert "Add logging to help debug additional app infos being updated by CacheDataUpdatedTask"
This reverts commit 62511de74e.

Reason for revert: bug not reproducing

Fixes: 20747317
Change-Id: I55c1fe8005fee66db53052aab15e152e6d39a34c
2023-01-04 18:27:00 +00:00
Sunny Goyal 9ce4382b34 Removing some unused container IDs
Bug: 260012466
Test: Presubmit
Change-Id: I3d6cff0e5b31928ba8e27ac02c0d1f63156d1bfb
2022-12-16 13:02:48 -08:00
TreeHugger Robot 33c348f573 Merge "Make grid size migration less confusing for users." into tm-qpr-dev 2022-12-05 18:19:59 +00:00
Pinyao Ting cc90d1b767 Make grid size migration less confusing for users.
Grid size migration is a confusing experience for users because the
content of the grid is not predicatable to the user. Part of the reason
was the dedupe logic which merges items from new grid into old grid,
this mean if user removes an item, change to another grid and go back,
user will see that same item re-appears.

This CL keeps the content of target grid the same as source gird, i.e
user will will get the exact same set of app icons/shortcuts/folders and
widgets (if size permits) across grid sizes. The only difference being
their placement in the grid.

Bug: 256859723
Test: atest GridSizeMigrationUtilTest
Change-Id: I1732c91e441ad44bc43e0a943566a83563d12b07
2022-12-02 13:33:04 -08:00
Sunny Goyal 9a616213e1 Removing SearchActionItemInfo
> Instead introducing an interface for handling click events
> Linking this interface to other UI which handle clicks

Bug: 259733681
Test: Presubmit and verified manually
Change-Id: I9cbf2d009d64254f513deb909a151e46e860d039
2022-11-30 10:59:07 -08:00
Pinyao Ting dec4305d0c Refactor GridSizeMigrationTaskV2
The majority of the logic in grid size migration should be implemented
as static functions in the first place since (1) they only runs once
after instantiation and (2) they are executed immediately after they are
instantiated.

This CL removes most of the instance variables from grid size migration
in favor of static methods since the later is more efficient, more
testable and therefore considered better programming practice in
general.

Bug: 256859723
Test: atest GridSizeMigrationUtilTest
Change-Id: Ief4654d79ad5cfd636e6145fdcc9dfe5a39cdf62
2022-11-21 15:24:38 -08:00
TreeHugger Robot 3a801de233 Merge "Fix ConcurrentModificationExceptions during binding." into tm-qpr-dev 2022-11-18 01:44:01 +00:00
Stefan Andonian a04de842d1 Fix ConcurrentModificationExceptions during binding.
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
2022-11-17 20:46:51 +00:00
Stefan Andonian 146701ca3e Move SharedPreferences code to its own class.
Bug: 251502424
Test: Code compiled correctly.
Change-Id: Iea0d6ab2999504117546ee0f7adc0c7b8b45c065
2022-11-17 17:22:47 +00:00
TreeHugger Robot 698239e16a Merge "Revert "Introducing new variable to enable/disable shortcuts."" into tm-qpr-dev 2022-11-17 11:28:05 +00:00
TreeHugger Robot 3ea398ecb7 Merge "Cleaning Utilities.java" into tm-qpr-dev 2022-11-17 02:39:38 +00:00
Sunny Goyal 47d4d81b4f Cleaning Utilities.java
> 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
2022-11-17 01:06:16 +00:00
Sihua Ma 8bbfcb6581 Move LauncherWidgetHolder to widget package
Making LauncherAppWidgetHost package-private as well

Bug: 235358918
Test: N/A
Change-Id: If022ec8d429579a972991872b2dc11db76719341
2022-11-16 14:31:14 -08:00
Sihua Ma 0593a0d3ec Created LauncherWidgetHolder as a wrapper for LauncherAppWidgetHost
The wrapper class is created for further changes that will run the wrapped host in the background.

Test: N/A
Bug: 235358918
Change-Id: I9bd6fc2749c5d4a4d3391fb75d0c3ff1e13d17bf
2022-10-26 10:57:13 -07:00
Pat Manning 5889bc3729 Add launcher metrics for tracking kids nav mode change events.
Fix: 241762670
Test: wwdebug && wwlogcat
Change-Id: I24432f2cd0dddbcc5991645b60a1a8e91dc431e5
2022-10-17 14:06:38 +01:00
Ats Jenk 3c59d9b345 Desktop tile that is a snapshot of desktop
Create a desktop recents tile that shows a snapshot of the freeform
tasks running on desktop.
Scales them down and positions them in the same location as they would
be on the desktop.

Bug: 244348395
Test: manual
Change-Id: Ieb5830a331691844769003189f557c4b7e4cd35c
2022-10-10 15:50:31 -07:00
Raj Garg 4b90dbe967 Revert "Introducing new variable to enable/disable shortcuts."
Revert "Introducing new variable to enable/disable shortcuts."

Revert submission 19632697-cherrypick-GO-DISABLE-SHORTCUTS-tyyzrpy9oe

Reason for revert: Reverting changes for the recent feature built by me. This CL was a part of the feature. Please take a call if we should revert it or not.
Reverted Changes:
Ib373b042f:Introducing new variable to enable/disable shortcu...
I4274cb468:Introducing new variable to enable/disable shortcu...

Change-Id: I81f338be71185cb008e81b020c5b3a7b01b64c58
2022-09-23 17:04:29 +00:00