go/grid-migration-preview
With this change, we can see actual grid migration in wallpaper preview.
The approach here: we use a tmp table (favorites_preview) here specifically for this preview (to write off the migration results), and load from this tmp table workspace items if migration is necessary and successful. Otherwise, we load from the current workspace.
UPDATED: this change should be completely compatible with the new multi-db grid migration algorithm. Here is why
1. In LauncherPreviewRender#renderScreenShot, I added a check to decide which grid migration preview method we should call. Once v2 preview method is implemented, it should be integrated with other parts of this change perfectly (the reason will be mentioned below).
2. While we have multiple DBs, mOpenHelper in LauncherProvider always points to the current db we are using. Queries using CONTENT_URI is routed to whatever DB mOpenHelper points to, so it works perfectly to directly operate on CONTENT_URI even when we use multi-db underneath the hood.
3. With 1 and 2 mentioned, I believe in order for this preview change to support multi-db, we only need to implement the V2 grid migration algorithm. Because most of what we are doing in this change is wrapped in GridSizeMigrationTask, it's perfectly safeguarded.
Bug: 144052839
Change-Id: Ie6d6048d77326f96546c8a180a7cd8f15b47e4c4
* Introduce FolderNameInfo class for passing down the folder name
suggestions from FolderNameProvider.
* Use FolderNameInfo for storing the serialized suggested names for
Folders. It is parsed and used in FolderEdit.
Bug: 148417030
Bug: 148916551
Bug: 148432151
Change-Id: Idaa81e203cc42889be15d0845230b4508521041c
The flake had disappeared, perhaps because of this logging, or,
hopefully, for some other reason.
Bug: 148313079
Change-Id: I636783d5fc71474dd443c143289c3ff74651835e
> Multiple instances of LauncherIcon created when
LauncherIcons refers IconCache which in turn creates new LauncherIcons
> Widget icons are never cached as they were using low res icons
> Shortcut drag icons are not loaded synchronously
when using PinItemRequest flow
> Wrong lastUpdatedTime is used in iconCache for shortcuts
> IconUpdateHandler does not ignore managedUser promise icons
Change-Id: Ie7eed68a30fad11d1861b6c70c380953a15ae1cf
We'll have a db for each grid option and a db for back up / restore.
TODO(pinyaoting): support back up / restore using the new infrastructure, particularly calls to GridBackupTable should use different DBs when the feature flag (NEW_GRID_MIGRATION_ALGORITHM) is on.
Bug: 144052802
Test: N/A
Change-Id: I644a3e70148bd78204a747a337446a3c038f616f
Updating various static objects to use a standard pattern so that
it is easier to track and cleanup those objects
Bug: 141376165
Change-Id: Ia539cbfa338d544dddad771c5027b6748762768b
> Changing the lifecycle to follow other static objects in Launcher
> Removing compat interface and inlining everything to helpers
Bug: 141376165
Change-Id: I82bd5db1969101de9a7eac77f32728d70195bb35
This change takes care of icon rendering. Further work still needs to be done for folders and widgets.
Test: Go to grid options, choose a different grid option, and see user's workspace rendered in the preview
Bug: 144052839
Change-Id: I696153dec1d1f08c5ac82d0c75be5740325c0fc4
background thread. Added a feature flag to toggle on/off this
feature.
Bug: 140242324
Test:
1. (Custom Shortcut) Long click on google maps -> widgets -> drag
driving mode to workspace.
2. Open chrome -> add to home screen -> add -> add automatically.
3. InstallShortcutReceiver
In Launcher.completeAddShortcut, commend out the code that
calls PinRequestHelper.createWorkspaceItemFromPinItemRequest,
then open chrome -> add to home screen -> add -> add
automatically.
4. ShortcutDragPreviewProvider
qdb -> long press on suggested app that has deep shortcut
-> drag to workspace.
Change-Id: If7babe4eddf5434909bf686b4e9bde15e444d9fd
This will allow subclassing BitmapInfo to support custom icon/dynamic
icons which can be loaded on the background thread instead of going
through IconFactory which runs on UiThread
Change-Id: Ieced6e91330bdff1b505826d097a8df711dfe967
This reverts commit 28dc8de660.
Reason for revert: the code change introduces significant delay when saving deep shortcut icons in cache.
Change-Id: I5d67ac0c4c867a40e882b7a46be446f8f7f63ac7
- Adding trace tokens since we can be starting/ending traces out of order
- Fixing issue with draw hitting twice causing the trace stack to be
popped twice
- Fix issue with endFlagOverrides not removing from the stack
Bug: 142803200
Change-Id: I8649b94249910a352f00f2f2c2459c355d2bab00
This reverts commit 52908c9adc.
Reason for revert: roll-forward and fixes the crash due to access icon cache on main thread
Bug: 141568904
Change-Id: I1274db349c4f508d9cf59735b5f15180bb0ec033
We want to load from/save icons to icon cache for pinned shortcuts only
to reduce memory footprint.
Bug: 140242324
Change-Id: I25c7d59e29c6e27752b36c2c3c226849d4e177af
Although the recovery logic for app shortcuts and deep shortcuts are
mostly the same, in deepshortcut's case we don't care about the
component name. This CL fixes the bug where we reset the intent if the
activity a deepshortcut points to is not found. resetting the intent is
problematic as we'll need the shortcut id (which is stored as an
extra on the intent) to recover the deep shortcut using pinned shortcuts.
Bug: 140819317
Change-Id: I22f0266b98a9f6175303cc92a85397e240443250
Broken by change I03c31bb308fc496b9fc633c2fde23ae4568f8c44.
Bug: 139281702
Test: Ran BindWidgetTest with 8/8 successful.
Change-Id: I6a03744c9cd919316ff27b12c50acc70c91d47fa
This reverts commit f3d58f1f84.
Reason for revert: Rolling forward for development and fixes.
Bug: 140242324
Change-Id: I954cface2e50a5a9a5e143d2ea29fbcebb298ede
This reverts commit 050f9b1279.
Reason for revert: Test failure on ub-launcher3-master (b/140998509)
Possible Root Cause: This happens when fallback image or default icon was
used for shortcut icon, but shortcut caching logic do not have the logic
to create either fallback image or default icon. So upon updating icon cache,
the icon remains to be null, causing an NPE.
Change-Id: I1ee3bb7a3cab2af5730c2ee77d9370c1578a9ad6
Deep shortcuts now supports icon cache.
When workspace is being loaded, we will now attempt to load deep
shortcuts from memcache/db.
The icon for deep shortcuts loaded in the workspace is saved to
memcache/db after the workspace is loaded.
Bug: 140242324
Change-Id: I49da8319ad203476fe1e45683e2848dbde3473f2