> Ensure icon cache never returns null icon
> Enabling install shortuct receiver only after workspace has finished binding
> Making all the model changes for package installs on worker thread and only
posting the updaes on the UI
> Making shortcut exists check on the loaded items and not on the DB
> Explicitely using worker thread for PckageInstallListener
> Removing backward compatibility support from PackageInstallerCompat
Change-Id: I9592771b9670c1c1c84c8208cae8dafa7b393e65
> Splitting DeleteDropTarget into delete and uninstall
> Showing UninstallDropTarget for app shortcuts on workspace
> Showing InfoDropTarget only when developer options is enabled
Change-Id: I4396571d2199d1581bb9c733aef88ab9b0ebd79d
The rtl mode, the first screen should correspond to the last
opage offset (since page offset are always defined as
left-to-right)
Change-Id: Ie31139166bd71c423c63968760493ec572af81e9
- Dynamically update padding and background depending on fixed bounds and searchbar
- Fixes issue with drag layer bg getting clobbered when rotating launcher
- Tapping outside the bounds of all apps should close all apps
- Fixing typo causing widgets to not show in sw720dp devices
Bug: 20127840
Change-Id: I29c3f905bdee940f938ffe054f58434887073092
- RecyclerView is rendering
- Animation is connected
- Drag and drop is now handled
- UI tweaking: background, margins, more to come.
- Flicker and preview not loading issue:
fixed height for the horizontal scroll view.
- Shortcuts are added
- Widget Preview loading should support shortPress for drop
- UI tweaks left: overlay of arrow when there are more items to scroll
- icons are added in the section header
- Sorting of widget sections and widget horizontal list
- Adding all the padding constants to dimen.xml file
- RecyclerView should only support one view type
For items to be addressed in follow up patches OR CLs,
TODO is added to the comment.
b/19897708
Change-Id: Ibfc4da1696a23d20bada93db46e126706eb13cdc
> Removing support due to its flacky design. Removing a shortcut
causes a full reload. Also we do not have any concept of owner, so
any app can remove any shortcut.
Bug: 11372484
Change-Id: I781c922fac7dc77ea82cd0a2af74a5fca22500de
> Widget previews are saved in data dir instead of cache dir
> Expiring widget previews similar to IconCache
> Removed support for setting thread priorities
Bug: 19865031
Change-Id: Ib6033c2b1ff8ae61bba8762ca994ccd8217d3c75
Elimates 304 methods based on dex analysis
The java compiler generates sythetic accessor methods for all private
fields, methods and contructors accessed from inner classes. By marking them
package-private and @Thunk instead, sythentic accessor methods are no
longer needeed. These annotated elements should be treated as private.
Change-Id: Id0dc2c92733474250d8ff12fa793d3a8adeb1f26
By not storing them in a HashMap keyed against ComponentName (which is
almost guaranteed to conflict with other widgets when managed profiles
are in play).
Bug: 19444068
Change-Id: I6ffce78e8aaf265196239670404cbdaff9fa09be
- Moves launcher state-transition code into its own class
- Moves all-apps related code into a separate view/set of classes
- Implements a basic list view for all apps
Change-Id: I68f174aa9e1bf82c4e46ce9549c78a8dc4623f46
-> Using the context menu, and a new two stage system, this allows
users to curate icons and widgets on the workspace
-> Move icons / widgets to any empty cell on any existing screen, or
create a new screen (appended to the right, as with regular drag
and drop)
-> Move icons into existing folders
-> Create folders by moving an icon onto another icon
-> Also added confirmations for these and some existing accessibility actions
Limitations:
-> Currently, no support for drag and drop in folders
-> Considering moving the drag view so it doesn't occlude any
content (in particular, when user changes pages)
-> In this mode, accessibility framework seems to have
problems with the next / prev operations
Bug: 18482913
Change-Id: I19b0be9dc8bfa766d430408c8ad9303c716b89b2
> On launcher3 when the QSB is created for the first time after a
widget drop, it is not set in searchDropTarget and as a result
the "Remove" and "App Info" drop targets are not visible until
Launcher3 restarts and rebinds QSB
Change-Id: I599a9a18cc5d46af790b3145dae2eb385b32b20e
> IconDB maintains a DB of icons keyed on ComponentName + User
> During loader, icons & labels are loaded first from the DB, and
if the entry doesn't exist, loaded using packageManager
> After the loader completes, IconDB updates any entry which might have
changed, while the launcher was dead.
Change-Id: I7a6021cb6d1ca1e66fa5a0bdd21e1543e0cf66fc
TL;DR; (1) Key event navigation from and to the hotseat and icons in the workspace
is now symmetric. Since there is one more icon in the hotseat, only left
N-1 icon navigation was symmetric.
(2) KeyEvent.KEYCODE_DEL and KeyEvent.KEYCODE_FORWARD_DEL can now delete icons
from the workspace. The focus move to the previous icon where the focus
traveled from.
Also contains minor styling and indexing issues.
Bug: 15408321
Bug: 19381790
Change-Id: I16cbcb2693e92eebb830997d01c0bf674073dd51
> Adding 'Remove' option to workspace items
> Adding 'Add to workspace' to all apps and widget list items, which
adds the item to the first available space, giving preference to
the current workspace screen
> Adding 'App info' and 'Uninstall' options to appropriate items
Bug: 18482913
Change-Id: Ifab7423af2d9ba502b5a2771b37bb5436b3df937
-> This change provides integration for widgets provided by
the launcher package which can run arbitrary code.
Change-Id: I6052da5c4afed7ee72e3b44d045b9c46f2d84c42
-> Probably an issue with the way we're wrapping ViewPropertyAnimator
which can lead to us acting like it's valid to have multiple
instances of a VPA. In reality I think this is very problematic.
-> For now, we can just make sure the previous animation is canceled
if it hasn't yet completed.
Bug 18428886
Change-Id: I097eec08ec68ed098e68866fb5eda72734c51b00
1) During migration, if launcher2 has deleted user data,
migration oes not happen
2) If Launcher3 does not has bind widget permission,
QSB would be null.
Bug: 18388507
Change-Id: Ief81f6f77ce154e7b3ecd4b77caf24239401e738
> Removing all logic related to search and voice overlays
from Launcher3
> Using the widget provided by global search provider on the
homescreen
> Removing VoiceButtonProxy, as it is not being used anymore
Change-Id: Ie8b09b44f7213c8fa11bce685914442e4884295d
-> If the Workspace has a single page and the user goes from overscrolling
in one direction, and then the other, the LauncherOverlay scroll wouldn't
be set to 0 until the scrolling settled
Change-Id: I29ee9abdfa023ae3599d1590cdaebf457e2220fa
-> When extending the Launcher Activity, instead of overriding
public and protected methods, create a proper interface
-> This helps define the interface when extending Launcher
more formally and more clearly
Change-Id: Ib38e8a376b2242d4078bf6856bb145f5b5f0da80
> Launcher was making non-trivial updates to ItemInfo objects
on UI thread. These updates were getting skipped when the
Activity gets destroyed (possibly due to onConfigurationChange)
> Unregistering SessionCallback on application onTerminate,
rather than activity onDestroy
Bug: 17941096
Change-Id: Iad4a50871fe09470f26139b44a2e9886833032f1
> changing shortcutInfo.isDisabled to be a flag based variable
> on received OnPackageUnavailable, icons are disabled from desktop
instead of being removed. Icons in all apps are removed
Bug: 15852084
Bug: 16238283
Change-Id: I126d23c709682a917d4bbb84de71032593dce8f9