Commit Graph

919 Commits

Author SHA1 Message Date
Robin Lee 26ace12135 Don't clobber widgets with the same component.
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
2015-03-19 21:23:13 +00:00
Sunny Goyal 34b6527cef Lazy loading high res icons
> Loading low-res icons for icons which are not visible on
the homescreen.

Change-Id: I8ac7bf09f6030ed554cb60a4cd402f3f36ffe12b
2015-03-17 15:05:23 -07:00
Winson Chung b745afbdd7 Initial changes to break out AllApps into its own view.
- 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
2015-03-10 18:14:22 -07:00
Sunny Goyal 434e667b5b Merge "Ensuring setQsbSearchBar is called whenever the QSB is created" into ub-launcher3-burnaby 2015-03-10 21:02:46 +00:00
Adam Cohen ec3682b564 Merge "Enabling accessible drag and drop" into ub-launcher3-burnaby 2015-03-09 19:47:33 +00:00
Adam Cohen c9735cff2e Enabling accessible drag and drop
-> 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
2015-03-09 11:29:28 -07:00
Sunny Goyal 95deb3a57c Fixing icon disappearing on dropping to workspace
> It was created in ag/645900

Change-Id: I31ca5bf9763292517fa5ee3ccd867897bca45bad
2015-03-05 10:27:01 -08:00
Sunny Goyal 64b3fcc9f7 Ensuring setQsbSearchBar is called whenever the QSB is created
> 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
2015-03-04 13:59:21 -08:00
Sunny Goyal 9282059e44 Fixing wrong check to determine the drag source
> target it the drop target, i.e., the InfoDropTarget or DeleteDropTarget

Change-Id: If4a9f8eb72ee6afb4d80c7df6f0f2ada4bc35b22
2015-03-02 15:39:01 -08:00
Sunny Goyal 4fbc3828c5 Updating IconCache to maintain a persistent of icons
> 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
2015-02-26 19:08:44 +00:00
Sunny Goyal 1587d5362f Refactoring common methods
Change-Id: Id6d3072dd3a6d7f54e9591abbeffd9bd51c7403d
2015-02-26 18:19:22 +00:00
Hyunyoung Song 31178b8237 [key event focus handling] (1)hotseat <-> icon now symmetric, (2)support DEL keycode
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
2015-02-24 22:14:11 +00:00
Sunny Goyal 387f4a7b36 am fce720f3: Merge "Fixing crash when dragging and dropping a restored widget." into ub-launcher3-almonte
* commit 'fce720f39adcf8a35b93978c36ab0e8833a74e3e':
  Fixing crash when dragging and dropping a restored widget.
2015-02-17 20:39:42 +00:00
Sunny Goyal fce720f39a Merge "Fixing crash when dragging and dropping a restored widget." into ub-launcher3-almonte 2015-02-17 20:34:56 +00:00
Sunny Goyal 2434d40ef2 Fixing crash when dragging and dropping a restored widget.
> When the widget is in pending state, AppWidgetProviderInfo is not available

Bug: 19364311
Change-Id: If3126a375853e6e710c6eba4b8824e18f3f0d391
2015-02-17 12:00:30 -08:00
Adam Cohen 97079bc7d5 am 80e6beb4: Ensure that layers are properly removed after animation
* commit '80e6beb48ca71a321f667e79fe35a7ab2fb4c2bf':
  Ensure that layers are properly removed after animation
2015-02-14 01:05:58 +00:00
Adam Cohen 80e6beb48c Ensure that layers are properly removed after animation
Bug 19243980

Change-Id: Ic1d54f92051f7d937878898cae210ec18ecbaff8
2015-02-13 16:39:10 -08:00
Sunny Goyal 14334bda03 Merge "Removing code for the unused 'upgrade path'" into ub-launcher3-master 2015-02-12 18:23:28 +00:00
Hyunyoung Song 09cd92221e Remove meaningless bug id from from addDumpLog and Log.d methods
b/11683562
b/6557954

Change-Id: Icd0e237ebb09ac868928328f45a3b30cf19a20df
2015-02-11 12:58:33 -08:00
Sunny Goyal 66cfdc2549 Removing code for the unused 'upgrade path'
Change-Id: Ib9eca92284b0eabbe36ffaaf26c62a6ce3cfd3e9
2015-02-11 11:55:36 -08:00
Sunny Goyal c46bfef5df Removing support library dependency
> Removed FolderAutoScrollHelper as folders are currently not scrollable

Change-Id: I261f43a665b742697e3224e1e9852ccc526badcd
2015-01-20 11:49:12 -08:00
Sunny Goyal 71b5c0b988 Adding accessibility controls
> 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
2015-01-16 17:40:41 -08:00
Adam Cohen 5940042d39 Supporting custom widgets provided by launcher
-> This change provides integration for widgets provided by
   the launcher package which can run arbitrary code.

Change-Id: I6052da5c4afed7ee72e3b44d045b9c46f2d84c42
2014-12-05 16:18:41 -08:00
Adam Cohen 08072c05bf Prevent multiple workspace state animators from being started
-> 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
2014-11-18 18:18:26 -08:00
Sunny Goyal 416541cc0e Adding a few null checks.
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
2014-11-14 12:36:13 -08:00
Sunny Goyal 594d76dc66 Using the default search widget in Launcher3
> 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
2014-11-11 10:17:56 -08:00
Adam Cohen 8c4ca9277d Fix edge case where LauncherOverlay scroll woudln't be reset
-> 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
2014-10-24 17:42:33 -07:00
Adam Cohen 24e18aea81 Merge "First pass of the Launcher Overlay interface / impl" into ub-now-queens 2014-10-23 00:41:58 +00:00
Adam Cohen c2d6e897db First pass of the Launcher Overlay interface / impl
-> Added simple reference launcher extension
-> Make launcher able to handle a null qsb

Change-Id: Ib1575243cac800a335e95bbf00cdc394bb4741c3
2014-10-22 17:40:39 -07:00
Sunny Goyal 1231c0743c Merge "Updating ItemInfo objects in the worker thread" into ub-now-queens 2014-10-21 18:30:20 +00:00
Adam Cohen 9211d42f13 Use LauncherCallbacks model instead of method overrides
-> 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
2014-10-15 11:49:50 -07:00
Sunny Goyal 4390acea35 Updating ItemInfo objects in the worker thread
> 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
2014-10-14 14:39:26 -07:00
Sunny Goyal 1a745e8f18 Keeping icons in disabled state when SD-card is unmounted
> 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
2014-10-08 11:07:11 -07:00
Sunny Goyal b50cc8c5d6 Updating icons for sortcuts when the target app updates.
Bug: 17398260
Change-Id: I055abb971d1f72245e8616ac2ce07bcdf37cdd52
2014-10-07 14:56:58 -07:00
Sunny Goyal acefecbff3 Merge "Updating promise icon's bitmap and label when onBadgingChanged is received" into ub-now-porkchop 2014-09-19 19:58:07 +00:00
Sunny Goyal a22666f681 Updating promise icon's bitmap and label when onBadgingChanged is received
Bug: 17583799
Change-Id: I68b4f9d4086c43bd949ad8b46b574ec78edb32db
2014-09-19 12:16:52 -07:00
Adam Cohen 83e5941d8e Fix NPE in Workspace
Bug: 17503479
Change-Id: Ib20dfd67c5a755cd4b684163bb538a1bf77fa6ca
2014-09-17 16:47:08 -07:00
Sunny Goyal ad5c2bf998 Updating shourcuts only when the corresponding user also matches the AppInfo
issue: 17480447
Change-Id: I0afbd80e760b7b73b84e483be325b2e905d65a00
2014-09-12 08:03:30 -07:00
Sunny Goyal 1c13ff5691 Merge "Handling label and icon from SessionInfo." into ub-now-porkchop 2014-09-05 07:42:32 +00:00
Sunny Goyal 66205ce9ce Merge "Updating content of page description frequently." into ub-now-porkchop 2014-09-04 15:19:36 +00:00
Sunny Goyal 349426234e Handling label and icon from SessionInfo.
> The ShortcutInfo stores state as bit flags and not as ints
> Intents of auto-install shortcut are automatically updated
upon installation
> Icons/titles for active sessions are cached in IconCache

Change-Id: I2047849f67d4a8aaf2bc346b58110325bb4807d4
2014-09-04 08:18:33 -07:00
Adam Cohen 2854d25619 All apps transition work
-> Fix icons popping in
-> Fix issue 17259204
-> posting animation start and buildLayer to allow first
   frame to be ready. This becomes necessary with RevealAnimator
   on the render thread, since it can't use FirstFrameAnimatorHelper
   any longer.
-> adding a bit better transition for K, issue 17252683
-> updating a few assets

Change-Id: I0b193b4b3b511492a2fad6230cd91e3f0de634f0
2014-08-29 11:25:34 -07:00
Sunny Goyal 4cbf046bf9 Updating content of page description frequently.
> Removing unused search icon page indicator

issue: 17256565

Change-Id: I95158cf68f98b2af847cefb4d126468b908301e2
2014-08-28 16:21:22 -07:00
Sunny Goyal e7b8cd9e4f Improving restored widget behavior
> Clicking a broken widget install shows a dialog similar
to an app icon
> Clicking remove on the dialog removed all components
for the corresponding package
> Widget pending view shows 'Setup' text instead of icon,
if there is enough space

Change-Id: I82ec0a1ee9542c1e3b860e6e00798a80450dce3c
2014-08-27 14:07:05 -07:00
Sunny Goyal 424418bb50 Updating clings, removing ununsed clings
issue: 16127412

Change-Id: I1d18515765100ff10d33439b3ac39ebfc5da35c7
2014-08-25 11:38:02 -07:00
Sunny Goyal b3726d90a5 Changing hotseat keyboard controls
> Left and right keys don not navigate to next/prev page
> Down arrow on apps apps last row, do not take the focus to the end
> Nagivation sounds when focus changes

issue: 16352221

Change-Id: I5982f22dc80c408673092f8fa8ca1b2fc6381635
2014-08-20 17:00:32 -07:00
Sunny Goyal 22308ce1b8 Merge "Updating the icon click feedback" into ub-now-porkchop 2014-08-20 20:15:45 +00:00
Jan-Willem Maarse 2111606845 Merge "Ignore generic motion events if custom content doesn't allow scrolling" into ub-now-porkchop 2014-08-20 18:43:12 +00:00
Adam Cohen c50438c802 Unify next / prev page hints for drag and drop across devices
-> Eliminate the white bgs on tablets during drag (issue 15880213)
-> Add stateful (active and rest) next / prev page hints (issue 15937059)
-> Fix recent regression which allowed overscroll in custom content area

Change-Id: I1198dc88ca8570cb9e1afd3ca939be06a8dea92e
2014-08-19 22:17:10 -07:00
Sunny Goyal 508da15509 Updating the icon click feedback
> Using BubbleTextView everywhere, removed PagedIconView
> There is a brightness feedback on touch and shadow
feedback on click, until app launches

issue: 16878374
Change-Id: I3dc1149a123c8a75feca6210948398bf2187f1f2
2014-08-19 18:03:06 -07:00