Commit Graph

76 Commits

Author SHA1 Message Date
Winson Chung 0e31c31de7 am a79b18ad: Merge "Fixing widgets container inactive scroll bar color." into ub-launcher3-burnaby
* commit 'a79b18ad36ca9025ac4862c492260a656f61c7cf':
  Fixing widgets container inactive scroll bar color.
2015-08-24 22:50:36 +00:00
Winson 08d627566c Fixing widgets container inactive scroll bar color.
Bug: 20035978
Change-Id: Ia267ff8f171f7c4cde00593bd69cf69c1660c431
2015-08-24 15:24:17 -07:00
Mady Mellor bb83520a62 Refactor StylusEventHelper to provide onButtonPress/Release methods
This will enable an easier migration to the new M APIs for identifying
button presses from stylus / other tools.

Bug: 20430722
Change-Id: I41cfa6eff8d76bb83cf1bdaf6623ec1092ed554c
2015-08-21 11:18:14 -07:00
Sunny Goyal 756cd26592 General code refactoring
> Removing utility method for isAttachedToWindow
  > Moving logic to calculate cell size from workspace to DeviceProfile
  > Replacing some constants with xml resource variables
  > Saving the item info using content values for better compatibility with other methods

Change-Id: Idd612633d97a6241cb31148df9466031374bd5a0
2015-08-20 12:56:58 -07:00
Winson Chung 7b7d6d09ee am a67cce2c: Merge "Tweaking fast scroller to follow touch closer." into ub-launcher3-burnaby
* commit 'a67cce2cb3b7d6fcf53ce1390238130194c393e5':
  Tweaking fast scroller to follow touch closer.
2015-08-20 19:31:53 +00:00
Winson Chung a67cce2cb3 Merge "Tweaking fast scroller to follow touch closer." into ub-launcher3-burnaby 2015-08-20 19:26:00 +00:00
Winson d2eb49e4c3 Tweaking fast scroller to follow touch closer.
- Issue: The fast scroller currently does not follow the touch input
  because fundamentally, the fixed scrollbar height and the mapping
  of the scroll space to the scrollbar space is fundamentally incompatible.
- This CL changes the fast scroller to allow it to detach when the user
  fast-scrolls, then re-attaches after the user scrolls the screen and
  the current scroll position for the scrollbar picks up the thumb position.
- Since the scroll position and the fast scroller thumb is now detached,
  we can change the distribution of the fast scroll letters to make it
  independent of the rows for each section and instead uniformly distribute
  it along the scrollbar, which allows for more stability.
- There are edge cases where this fails, especially when there are few
  apps, which we can investigate further.
  
Bug: 20035978

Change-Id: I8322f862107e6f330deff692885233706564bffd
2015-08-20 19:25:48 +00:00
Vadim Tryshev fedca43d39 Moving drag-drop related code into a separate package.
This is per an earlier CR comment "we should probably move all this code to its own package (launcher3.dragndrop) in a separate cl".

I'm not moving DragSource because it's referred from gsa code.

Bug: 22609426
Change-Id: Ia7204dab99c0c395c66b77143a2d60411153f5f3
2015-08-20 07:45:57 -07:00
Sunny Goyal c268148f06 resolved conflicts for merge of 9fc953b9 to ub-launcher3-master
Change-Id: Ia3e845a2e336c846cceefdc2d1e8c6786753f1b1
2015-08-17 14:43:41 -07:00
Sunny Goyal 9fc953b94d Version code cleanup
> Renaming Lmp to Lollipop
  > Lollipop_MR1 instead of directly using 22
  > Using M APIs directly instead of reflection

Change-Id: I10a307f46e3be15b3299f549a2fd7e0e215a6a1b
2015-08-17 13:26:01 -07:00
Sunny Goyal 42e28092b3 Removing some eclipse warnings
Change-Id: I160feaee81b262be02446885fae643c0be71b7af
2015-08-17 12:56:19 -07:00
Sunny Goyal 3c938a7e0d resolved conflicts for merge of 3f7550c1 to ub-launcher3-master
Change-Id: I3bb155473d48832e496a8983f84c20e6e935fa41
2015-08-04 10:33:30 -07:00
Sunny Goyal 233ee964a9 Calculating widget minSpans and spans statically/independent of orientation
> Filtering the widget list and excluding widgets which dont fit the grid
 > setting minSpans for the widget item when binding.

Bug: 22541314
Bug: 22559137
Change-Id: Ieda48b56c95bee0c7ec71dd691af7e23e2d43db6
2015-08-03 16:39:49 -07:00
Hyunyoung Song cf235922c7 am a9095e07: Remove NPE inside WidgetsListAdapter during monkey actor test b/22518383
* commit 'a9095e07ddd2318ceb81a2794219e07dd112df72':
  Remove NPE inside WidgetsListAdapter during monkey actor test b/22518383
2015-07-27 22:35:02 +00:00
Hyunyoung Song a9095e07dd Remove NPE inside WidgetsListAdapter during monkey actor test
b/22518383

Change-Id: I1a683c49be93af150f7873390b723cee0d4ac5df
2015-07-27 13:35:33 -07:00
Hyunyoung Song a1ce66dfb7 am 7dc9a0f7: Merge "Fix issue where corp app widget doesn\'t show correctly on drop targets." into ub-launcher3-burnaby
* commit '7dc9a0f7d7e138cb9e685609777021b74e8dd67b':
  Fix issue where corp app widget doesn't show correctly on drop targets.
2015-07-16 23:49:15 +00:00
Hyunyoung Song 7dc9a0f7d7 Merge "Fix issue where corp app widget doesn't show correctly on drop targets." into ub-launcher3-burnaby 2015-07-16 23:37:36 +00:00
Hyunyoung Song ffd0ab4da1 Fix issue where corp app widget doesn't show correctly on drop targets.
b/22535234

Change-Id: I6e57c7728704ad0f99df25257211243a23d26acd
2015-07-16 16:36:59 -07:00
Hyunyoung Song eaa3750a01 am 321dea13: Merge "Widget row should not be cut off on the right, when there is an indent" into ub-launcher3-burnaby
* commit '321dea1346ba6e0e49a0cfc49b9303f3d7cfe303':
  Widget row should not be cut off on the right, when there is an indent
2015-07-15 00:09:38 +00:00
Hyunyoung Song 6fdc2035ea Widget row should not be cut off on the right, when there is an indent
b/22483452

Change-Id: I9d1cd8b71f4b6a4f75af420e9f54b73e9ae7527c
2015-07-14 16:52:35 -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
Winson Chung 243fdd7cdf Working around overscroll issues in AllApps.
- For the time being, we are going to do custom drawing to ensure that we get the touch
  events in the right order, while still allowing the recycler view to draw the overscroll
  effect on top of the prediction bar.

Bug: 21335369
Change-Id: I6bf64e5c1e9aa634a953223a5decf74942e4fb57
2015-06-23 21:56:07 +00:00
Winson Chung b1777447d9 Refactoring fast scroller.
- Fixing issue with fast scroller not fitting name width.
- Refactoring fast scrolling/scroll bar code out of base recycler view
- Adding animations to fast scroller to match design
- Smooth scrolling when jumping between app rows
- Fixing issue with fast scroller jumping when you first pick it up
- Fixing issue with wrong background paddings being used

Bug: 21874346
Bug: 22031923
Change-Id: I9f011b1f375751f437604b900e95a2942d3f4601
2015-06-23 14:24:15 -07:00
Hyunyoung Song 289ec3af9a Remove DEBUG flag inside WidgetsListAdapter
Change-Id: I7e5b3162f2b3768caff7ff79fd75567a793a1f45
2015-06-17 23:08:05 -07:00
Winson Chung ef7f874a88 Refactoring all apps search to support external search bar.
- Adding support for an external search bar that can be used
  to search a container view.  This adds a new interface
  AllAppsSearchController which manages the external search
  bar.  Each controller will have its own search implementation
  which means that we no longer need a common AppSearchManager
  interface.
- Removing elevation controller as we no longer have a builtin
  search bar in all apps
- Refactoring container view insets so that they behave
  the same in all containers.
- Refactoring apps view to ensure that we only update the number
  of columns with the available width
- Cleaning up LauncherCallbacks interface

Bug: 20127840
Bug: 21494973

Change-Id: I710b8e18196961d77d8a29f0c345531d480936fe
2015-06-15 14:22:47 -07:00
Hyunyoung Song 3114425140 Merge "Make WidgetsRecyclerView not crash on MNC support lib" into ub-launcher3-burnaby 2015-06-09 01:22:41 +00:00
Hyunyoung Song 9e6344212a Make WidgetsRecyclerView not crash on MNC support lib
Change-Id: Ia7bee39752ad0c0b58e74df4507caaf7a3cd8c29
2015-06-08 18:17:13 -07:00
Sunny Goyal be68dcebbb Merge "Fixing preloaded widget not getting used for animation" into ub-launcher3-burnaby 2015-06-08 22:32:49 +00:00
Hyunyoung Song f00d02b254 Improve AyncTask throughput inside WidgetPreviewLoader
b/21133230
> Synchronized block was creating a bottleneck for the AsyncTasks.
> Remove calls that doesn't need to be synchronized outside synchronized block.
> Also removed setAlpha call as after the bottleneck was removed,
Inefficient alpha view usage alert started popping up in traceview.
Due to less jankness, removing the fadein animation doesn't have any
visible effect.

Link to lock congestion visualization:
https://x20web.corp.google.com/~hyunyoungs/no_crawl/traceview/traceview_lockcontention.html

Result: gfx-avg-jank delta = "-1"
Change-Id: If12817df0730f346cdba7e2f38f232eb9a4336c0
2015-06-05 13:30:19 -07:00
Hyunyoung Song 7b3bdcd6bb Merge "Consistent scrolling experience for All apps and widget tray" into ub-launcher3-burnaby 2015-06-04 18:39:44 +00:00
Hyunyoung Song ec84728b27 Consistent scrolling experience for All apps and widget tray
b/21375339

Change-Id: I8362b3ca94b7c4e75932d42cd09a989e0e3919c0
2015-06-04 11:37:46 -07:00
Sunny Goyal 53d7ee4285 Fixing different bitmap sizes in different orientations
> Using a single bitmap icon size
> Picking up appropriate density for satisfy the required icon size
> Fixing some icon size assumptions during icon animations

Bug: 19514688
Change-Id: Ia7a1d0d2c03a9d39ccc241fa4ae3eb8a0f374585
2015-06-03 19:07:44 -07: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 5b9ebcab3c Fixing preloaded widget not getting used for animation
> The preloaded widget was being set in a different instance of
PendingAddWidgetInfo and was never getting used for animation.

bug: 20699153
Change-Id: Iaec13640e49c66993b4695e4a52dc3a3a2133fb2
2015-06-02 15:20:03 -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
Hyunyoung Song ac5f6af148 Move fast scrolling logic to BaseRecyclerView
- This change has no effect on actual functionality but to make it easier
for widget tray to inherit the goodness of the 1) fast scroller
functionality 2) unify the scroll look and feel with the all apps view

b/21375339

Change-Id: Ib859b1c3352c0b69f16549ded8f20eb82cf58ba8
2015-05-29 12:00:44 -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
Winson Chung 5f4e0fdd2e Moving all apps code into sub package.
- Renaming resources, dimens, etc to be more consistent
- Removing old AppsCustomize resources and other unused code

Change-Id: I15ce35e7cb7a9b9344fc7103963e4e4c9e45d89a
2015-05-22 12:21:40 -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
Hyunyoung Song 2bd3d7d1cb Load PackageItemInfo in background thread to prevent ANR
- Decoupled widget model from widget view, and placed the
creation to LauncherModel.
- As a result packagemanager operation, iconcache retrieval is all done inside
LauncherModel on background thread
b/21311085
b/21325319

Change-Id: I294698527db58b89f3da558090a367530c058776
2015-05-21 13:04:53 -07:00
Sunny Goyal 99d950fb4d Removing unnecessary linear layout
Change-Id: I7fe423b9526805a2e84887e0437ebdc96203c263
2015-05-20 14:43:18 -07:00
Winson Chung f72eb710af Removing override annotation to fix build.
Change-Id: I5a4dfa339db7862ac3db4cc379469ac8d9f6fae5
2015-05-20 18:15:04 +00:00
Hyunyoung Song 0b493c86c5 Unify sorting between all apps and widget tray
- selected locale names are shown before latin
- case independent sorting
- main app > enterprise app

Future possible refactoring:
- Move all the *ItemInfo data structures to model package
- Rename the comparator based on NOT what data structure it supports
but what functionality it supports (locale? case independent?
main app > enterprise app?)

b/21271658
b/20339403

Change-Id: I8a776467392e21d5014e85cd3f51931a3ef89724
2015-05-19 13:39:44 -07:00
Sunny Goyal f52abd7758 Widget cell improvement
> Using a custom view for preview, instead of extensing image view
> Preventing relayout when applying preview
> Removing unnecessary method calls

Bug: 21133230
Change-Id: Iab12fa1e5c871ee43a9fb0e6b6af897fecfb345f
2015-05-19 11:51:23 -07:00
Winson Chung 2d58471e8d Reducing calls to onCreateViewHolder due to animating children.
Bug 21133230

Change-Id: Ib5be0766d1ea56976195e33526d7595a16672eef
2015-05-15 23:49:24 +00:00
Winson Chung 78b19667da Removing some dead code and extra view creation.
b/21133230
2015-05-15 21:31:13 +00:00
Hyunyoung Song e3a1df20e6 Merge "Place the work profile badge in the correct bottom right (left for RTL) location" into ub-launcher3-burnaby 2015-05-15 00:09:49 +00:00
Hyunyoung Song 6babf2e27e Place the work profile badge in the correct bottom right (left for RTL)
location

Also:
- clean up of some code
- remove requestLayout() method call that is not needed.

b/20338602

Change-Id: I65e0e1ac40da2e3fa85af4d3aca54bed3f200a99
2015-05-14 17:08:45 -07:00
Sunny Goyal 7066003b20 Various lint error fixes.
> Fixing some RTL errors by specifying both marginStart and marginLeft
> Moving all layout direction checks to Utilities
> Explicitely adding @TargetApi before every method

Change-Id: Ibe9c52b93b5a6adeadb27ace2b312770fd732ea0
2015-05-14 12:28:07 -07:00