Commit Graph

276 Commits

Author SHA1 Message Date
Sunny Goyal
6c56c68555 Changing the dogfood check to a static boolean to better handle proguard optimizations
Change-Id: I892b88ce1a007fafc23a73ad4193c5c4aa411d1b
2015-07-16 14:09:53 -07:00
Sunny Goyal
aa8ef119f1 Refactoring ItemInfo
> Changing dragObject to ItemInfo
> Removing dropPos which is always null
> Removing requiresDbUpdate which is only used in CellLayout

Change-Id: I753ddaae0880c8a9bfee5a1266095ff34610284a
2015-06-30 10:26:49 -07:00
Sunny Goyal
4d113a5ff4 Using material style overscroll effect for workspace and folders
Bug: 21335369
Change-Id: I53cc6edfa87334b9326f1dedd90c3e2222beade5
2015-06-19 19:53:34 +00:00
Mady Mellor
19b1bad239 Merge "Stylus support: creating and setting listeners for stylus button press" into ub-launcher3-burnaby 2015-06-03 16:26:35 +00:00
Mady Mellor
ef044dd380 Stylus support: creating and setting listeners for stylus button press
This updates almost(*) all locations that use a long press listener to
also set a custom touch listener that recognizes the stylus button press
action.

The stylus button press action is: when a stylus touches a view while the
primary stylus button is pressed which may occur on a DOWN or MOVE event.

*The location this is *not* enabled for is: Longpress to enter "overview"
mode -- this isn't really a selection or drag n drop action; it is also
easy to accidentally do this while using the stylus gesture to drag n drop
items which is not an ideal interaction. Also not set for the "cling" that
demonstrates this.

Bug: 20430722
Change-Id: I9343f143261a7b4fada9afca28b8a11a60dbecca
2015-06-02 15:35:07 -07:00
Sunny Goyal
316490e636 Removing some synthetic method creation
> Make package-private and @Thunk all private methods and constructors accessed from inner classes.

Change-Id: Ie5913860a0c33e48e9bf68f9b5b1699f64c2f174
2015-06-02 10:04:59 -07:00
Sunny Goyal
58376925f9 Fixing page background not displayed when dragging from all apps
> Adding empty page synchronously, instead of waiting for a frame
> Changing launcher state from widgets screen in the same frame, similar to all apps
> Removing DragEnforcer, and moving that logic in side the workspace, disabled by a flag
> Using first page to get page bounds in drag layer, as last page may not have been measured

Change-Id: I172ba4e5ce44648ac55402d49994542c6e10f101
2015-05-27 17:50:35 -07:00
Sunny Goyal
c6205603ef Creating landscape and portrait device profiles at app initialization
Change-Id: Ide9d007adc36b348e19b05cdf49e87f8b02db60e
2015-05-22 08:46:41 -07:00
Sunny Goyal
2805e639cd Animating workspace active background change
> Removing workspace_overscroll_drawable_padding which is always 0

Change-Id: I89900738371458a6eb7cbfee215d98b267d6a0b0
2015-05-21 16:26:15 -07:00
Adam Cohen
2e6da1539b Refactoring DeviceProfile
-> Pulling out the parts of device profile which can (and need to be)
   initialized and accessed without access to an Activity context,
   ie. the invariant bits.
-> The invariant bits are stored in InvariantDeviceProfile which is
   initialized statically from LauncherAppState.
-> The DeviceProfile contains the Activity context-dependent bits,
   and we will create one of these for each Activity instance, and
   this instance is accessed through the Launcher activity.
-> It's possible that we can continue to refactor this such that
   all appropriate dimensions can be computed without an Activity
   context (by only specifying orientation). This would be an
   extension of this CL and allow us to know exactly how launcher
   will look in both orientations from any context.

Sets the stage for some improvements around b/19514688

Change-Id: Ia7daccf14d8ca2b9cb340b8780b684769e9f1892
2015-05-21 16:16:40 -07:00
Sunny Goyal
20812e9640 Merge "Removing some unused functionalities" into ub-launcher3-burnaby 2015-05-20 22:35:49 +00:00
Sunny Goyal
f3a21c8ca2 Merge "Moving LauncherAccessibilityDelegate to accessibility package" into ub-launcher3-burnaby 2015-05-20 04:15:34 +00:00
Sunny Goyal
0573977143 Removing some unused functionalities
> Removing obsolete progrard rules
> Removing BackgroundAlphaMultiplier from CellLayout, which is always 1
> Removign otiline animation from workspace. This animation never runs,
as it is called during startReordeing which always happens when
overview mode (workspaceInModalState() is true)

Change-Id: I43219e41ea188771bc818988c1bcbd523f28cba6
2015-05-19 20:03:06 -07:00
Sunny Goyal
83a8f042ad Moving LauncherAccessibilityDelegate to accessibility package
Change-Id: I510204a5a12abf2da2757f3e3f8b0e8869a6b04a
2015-05-19 12:52:30 -07:00
Sunny Goyal
4b6eb26950 Adding drop shadow effect in allapps
Change-Id: Ic7a9b6e23d925d27a8dcbd418d2609e43917ac45
2015-05-15 15:47:10 -07:00
Sunny Goyal
4fe5a37dda Optimizing shadow generation by reusing bitmap.
> Not creating unnecessary bitmaps
> Final bitmap is generated as ALPHA_8 instead of ARGB_8888
> The shadow drawing is done directly in the view

Change-Id: I504fa2ea3abdc1a3c3fb9ad57d6e28880d2584a1
2015-05-15 14:10:20 -07:00
Sunny Goyal
9ca9c1316d Adding accessibility widget resize
Change-Id: I954f01733474450cbeedba2406e1d6d373bb87a3
2015-05-06 16:00:22 -07:00
Sunny Goyal
9aaef938c3 Removing debug log
Change-Id: Ifb6adc0826d744f2bbc654c37c2470754f364a2b
2015-04-30 10:32:25 -07:00
Sunny Goyal
65d076b2ff Merge "Enabling accessibility drag and drop in folder" into ub-launcher3-burnaby 2015-04-30 00:43:55 +00:00
Sunny Goyal
a911672f45 Simplifying add to workspace by not going through the worker thread
Change-Id: I3260786bee257aea93ade49e6fa18008232addbe
2015-04-29 14:58:17 -07:00
Sunny Goyal
e9b651eef1 Enabling accessibility drag and drop in folder
> Moving DragAndDropAccessibilityDelegate to a separate class
> Using getFocusedVirtualView() instead of using DownX and downY
> Updating various accessibility strings

Bug: 19776741

Change-Id: I85c2551d4d6172c30702e68f41b114bb999655b6
2015-04-28 16:06:46 -07:00
Sunny Goyal
f7a29e83f0 Removing some unused method params from CellLayout
> Replacing various distance calculations with Math.hypot
> Moving findVacantCell to Utilities

Change-Id: I0cb194b603e52b3bb2b29a095bb4da2bb408ab13
2015-04-24 15:28:20 -07:00
Sunny Goyal
1a70cef988 Accessibility fixes
> Enabling top bar buttons in accessibility drag-drop
> Unifying logic to show delete/uninstall/app-info targets
> Announcing cell loction as 1-index instead of 0-index

Change-Id: Ibc7801f77e938b2646f0655462cbe9b7f781818b
2015-04-24 10:47:56 -07:00
Hyunyoung Song
3f471440a8 WidgetTray revamp work
- 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
2015-04-08 19:01:34 -07:00
Winson Chung
3d9490ab95 Removing more code with API 21 dependencies.
Change-Id: I16c914334ce0694b84626269ae4bb5e83082c739
2015-03-24 18:02:01 -07:00
Adam Cohen
091440a9cb Reducing method count by eliminating synthetic accessors
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
2015-03-20 11:15:54 -07: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
1587d5362f Refactoring common methods
Change-Id: Id6d3072dd3a6d7f54e9591abbeffd9bd51c7403d
2015-02-26 18:19:22 +00:00
Hyunyoung Song
ee3e6a7b77 [key event focus handling] Cleanup/Refactor/Feature
1) Focus navigation handling is refactored to Focus utility class.
New 2 step dpad navigation algorithm is inside Focus class
2) Introduced a map (or matrix) that indicates where sparse icons are located inside a grid.
This enables getting rid of the icon sorting logic which was costly.
3) Unified all the dpad handling logic inside the handleXXKeyEvent methods
4) DOWN/UP key will allow navigation between workspace icons and the hotseat
5) Folder icons allow DOWN/UP to navigate to the title

b/19381790

Change-Id: Id45b3f215ef7c1ca5f99b08e3d721e219298627a
2015-02-20 14:25:27 -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
Sunny Goyal
02b5081104 Fixing wrong views being made visible when opening all apps
issue: 17422327
Change-Id: I18175ecba154dff3ff5d7e1b16696ca46c7aeae8
2014-09-10 15:44:42 -07:00
Sunny Goyal
22308ce1b8 Merge "Updating the icon click feedback" into ub-now-porkchop 2014-08-20 20:15:45 +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
Sunny Goyal
4a0eda76ba Merge "Updating the UI for focused state of an icon/folder." into ub-now-porkchop 2014-08-16 03:52:42 +00:00
Sunny Goyal
dcbcc86353 Updating the UI for focused state of an icon/folder.
issue: 16352129

Change-Id: If2e154dba06a0648f933f9aea38898642db9fd85
2014-08-18 13:51:51 -07:00
Adam Cohen
1e4359c54e Adding dampened snap back overscroll to Workspace and AppsCustomizePagedView
issue 15475254

Change-Id: I5eb9fc480167faf4be16bd17bf18e2d103f40f47
2014-08-18 13:45:36 -07:00
Sunny Goyal
33a152fa49 Merging motorola's patch to prevent crashes on view id mess up
issue: 15517526
Change-Id: Ib15b3dc2f5ed4e488f5d172ed02ccb72741d5980
2014-07-24 09:33:15 -07:00
Adam Cohen
96bb79819e Enabling quantum look and feel everywhere
-> _l assets become default, new folder icon look is default
-> Starting to unify folder look / feel with all apps
-> New page indicators

Change-Id: I50b2c647fbcbe6ed27705527d8e16bd89e123d0b
2014-07-07 15:29:53 -07:00
Adam Cohen
71b0473f24 Add new assets for LMP preview
issue 15544569 c), d), e)

Change-Id: Ib352ef1fa7c19c3695c82f3ea31936a4b41da5aa
2014-06-11 10:50:41 -07:00
Adam Cohen
e0aaa0d3de Remove antiquated way of determining CellInfo during long press
-> allows us to eliminate cast of getTag() to CellInfo to fix
   issue 13587508

Change-Id: Id2277206765621f664b758cce800bf8423231b1e
2014-05-12 12:45:59 -07:00
Nilesh Agrawal
5f7099af85 Allow scrolling folders in when all apps is disabled.
Allows for more items to be added into a folder.
Allows for scrolling by letting the content area inside the scroll view to be taller.
The height of content area was capped in https://googleplex-android-review.git.corp.google.com/#/c/387583/

Change-Id: I8d7950ac9c155e26c5a299c17ae6a2bbf829dce6
2014-01-02 15:55:53 -08:00
Michael Jurka
34c2e6cf7a Clean up imports 2013-12-13 16:20:53 +01:00
Winson Chung
b6147f8578 Merge "Adjusting grid for tablets and fixing incorrect resources for large tablets." into jb-ub-now-kermit 2013-12-12 00:35:47 +00:00
Adam Cohen
fe69287b97 Fix new NPE relating to reorder hints
Change-Id: I80ff327ee549caef5802eb7194d48b1e8424ce47
2013-12-11 14:47:47 -08:00
Winson Chung
59a488ac03 Adjusting grid for tablets and fixing incorrect resources for large tablets.
Change-Id: I4c2a058da934bef14f5be3c53ebda940aeb990ca
2013-12-10 17:52:40 -08:00
Adam Cohen
fa3c58f647 Adding reorder hinting, hopefully will help with (issue 10654628)
-> Adds instant feedback that reorder _will_ happen, so hopefully will
   improve perceived disambiguation

Change-Id: Icd99e7beeb87e79627a6b9fc78a9132781410379
2013-12-09 18:04:57 -08:00
Adam Cohen
917e38851c Fix issue with adding widget with config activity to empty screen (issue 11381059)
Change-Id: Ic7eecb30422e7a6cf35ebe8470d9eba8752d406e
2013-10-31 15:04:59 -07:00
Winson Chung
6e1c0d34bb Initial changes to support smaller landscape layouts.
Change-Id: If0abe2b82eb08bae4f1ce65b805362d548acb876
2013-10-28 18:30:25 -07:00