Commit Graph

30 Commits

Author SHA1 Message Date
Sunny Goyal
c13403c612 Defining various modes for CellLayout: Workspace, Hotseat & Folder
> Moving the definition of modes to xml
> Defining attributes in xml

Change-Id: I7a569fdbeb833d569eeeef2f2cbc8214e608ad11
2016-11-21 15:20:16 +05:30
Jon Miranda
6c61323998 Add context to widget dimensions for accessibility.
Bug: 19085860
Change-Id: Ia28c2c14b93945d796226eea3de040e971fd42f0
2016-09-19 11:25:39 -07:00
Andrew Sapperstein
abef55a1c1 Update Launcher to use theme colors.
Instead of using hard-coded variants of colors, use the theme color
that corresponds (colorAccent, colorPrimary, etc).

Updated:
- "Search for more apps" text
- App info drop target hover color
- PageIndicatorDots
- All apps & widget scroll bar & scroll popup colors
- All apps section text color
- widget picker background color

TODO:
- widget picker header color

BUG: 28625102
Change-Id: I74b543ff71b8caef8cd950c8183ac84c759cb4d5
2016-06-20 11:46:44 -07:00
Sunny Goyal
ae50284e0a Moving LauncherAccessibilityDelegate to Launcher to associate it with
activity lifecycle.

Change-Id: Ib815505677fa7ed74bdcfe7141b1d9bea5d7143a
2016-06-17 08:44:51 -07:00
Sunny Goyal
6d02c7a033 Adding some UI tests
> Launcher app from all-apps
> Drag icon to all-apps and launch it
> Add widget from widget tray

Change-Id: I6bd6128a7b560a23a887d1fb40bfcda25b9b02e7
2016-05-26 17:20:22 -07:00
Sunny Goyal
4ddc40130a Creating WidgetCellItem to wrap LauncherAppWidgetProviderInfo and resolveInfo
In PackageItemInfo,, using the user of the first item in the sub-list

Bug: 27585511
Change-Id: I8243f0e5c831af65661ae815489e53e9fcade837
2016-03-18 11:06:01 -07:00
Hyunyoung Song
dfaeff757d Manual revert due to conflict:
am: d31dcbcc7c

* commit 'd31dcbcc7c7901959c65c4e635e59274a1d4c334':
  Manual revert due to conflict:
2016-02-23 19:56:32 +00:00
Hyunyoung Song
d31dcbcc7c Manual revert due to conflict:
Revert "Load label in bg thread to prevent ANR b/27238970"

This reverts commit b62fd09576.

Change-Id: Ia751e3414fb24a18bb8bb9ca09dcd93d0e4249f6
2016-02-23 11:36:21 -08:00
Hyunyoung Song
b62fd09576 Load label in bg thread to prevent ANR
b/27238970

Change-Id: Ic5d77df7d5276cee07861d59427a94fb19691d9c
(cherry picked from commit 72a9953cf4)
2016-02-23 00:45:56 +00:00
Hyunyoung Song
72a9953cf4 Load label in bg thread to prevent ANR
b/27238970

Change-Id: Ic5d77df7d5276cee07861d59427a94fb19691d9c
2016-02-22 16:36:15 -08: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
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
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
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
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
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
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
Hyunyoung Song
5cd1d92f6c Fixing several layout issues.
- N7/N9 indented area should not block scroll view
- separator at the end of the widget cell should not show up on the last item.

Not covered in this CL:
- Guarantee that last item is showing only 20~40%. Right now, the
hand picked constant works for N5,6,7,9

b/20338324
b/20763871

Change-Id: I274ab95c6c3e2fc8be8ceafb2e8172c0174a41a5
2015-05-12 15:40:09 -07:00
Hyunyoung Song
f385e3c058 Merge "Ensure that clipping widget size is 20~40% of its width on every devices" into ub-launcher3-burnaby 2015-05-11 22:52:36 +00:00
Hyunyoung Song
4b69f2ca91 Ensure that clipping widget size is 20~40% of its width on every devices
b/20338324
b/20763871

Change-Id: I69114cb6dfec95c473313a440a6db76a052e5601
2015-05-11 14:55:07 -07:00
Winson Chung
82b016cb56 Trim all whitespace from titles and labels.
Bug: 20953160

Change-Id: I1610df5e445a4139522226f68fa6439926bc70c6
2015-05-08 22:22:39 -07:00
Hyunyoung Song
559d90d0da WidgetPreviewLoader concurrency issue / Caching improvement
1) Concurrency issue: unused bitmap was not properly synchronized
which caused concurrency issue. Hence, leading current widget tray
implementation to not use it. (a.k.a. cancel(false)).
Issue fixed and now using the unused bitmap pool.

2) Caching improvement: LoadedBitmap cache was a legacy support system
for the old widget tray implementation. On our latest implementation,
cache and recycled view is completely being managed by the recycler view.
Hence removed.

Change-Id: I843e6a286b676f283172f2c1ef5cbeed0a9fb17f
2015-04-28 15:06:45 -07:00
Hyunyoung Song
f17a1c9ad9 Widget tray alignment according to UX spec
- Fixing an issue where widget preview is not loaded do to faulty
canceling of loading async task when view is detached from the window.

b/20338334

Change-Id: I1e3bd6b6cdafda8d1e0a7a0e87c8089100c341a7
2015-04-27 17:01:32 -07:00
Hyunyoung Song
b99ff3e832 Add drop animation / Toast to widgettray
- show instruction toast on clicking the widget
- Add animation when widget drops on the workspace.
Added WidgetHostViewLoader to handle short press and assign widget
host view to enable animation

b/19897708

Change-Id: Iec36d72cb21bf09343d0beeb31a09bf8b0cb5e0d
2015-04-23 15:17:50 -07:00
Hyunyoung Song
4cea4c8302 WidgetTray UI tweak
- set fixed image view width
- fade in when widget bitmap populates
- widget dimension is next to the widget name text.
- elevation of the widgets content and the reveal view is the same

b/19897708

Change-Id: Ia656144412e7d63a491ce67ff15fb58c05d9a9d9
2015-04-19 19:25:49 -07:00
Hyunyoung Song
4e8fb91cf1 WidgetTray improvement
UI
- Fixing the issue of widget row not rendering
- Moved the resetting of previous bitmap to the start of onBind
instead of the onDetachedWindow.

Performance
- WidgetModel do not have to keep packageName list around.

Will com in immediate follow up CLs
- use lowRes widgets bitmap before fully loading the fullRes one.
- application icons are fully loaded in background thread.

b/19897708

Change-Id: I5b3b43a5c543a5135c395f90df32e66d57dc86e0
2015-04-13 15:58:30 -07:00
Hyunyoung Song
a23dab9c64 WidgetTray UI improvement
- Long application title should be ellipsized
- Disable the drawable when the view is no longer attached to the window
- Save the PackageItemInfo to the WidgetModel once full res icon bitmap is loaded

b/19897708

Change-Id: I96f260f9d165b206905a127fcee9879556c3d0c4
2015-04-09 16:54:31 -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