Commit Graph

56 Commits

Author SHA1 Message Date
Jon Miranda 5c83e7cdc5 Refactor and generalize SpringAnimationHandler.
SpringAnimationHandler is only responsible for motion tracking and
updating the list of springs it is handling.

Spring initialization and updates are handled by the AnimationFactory
interface.

This is done in preparation for future CLs where SpringAnimationHandler
will be used in more cases.

Bug: 38349031
Change-Id: I5ebce710cc05e4e88b708ceea5d2cfefbd0eb3d0
2017-06-07 15:45:45 -07:00
Jonathan Miranda 6d60532167 Revert "Decrease jank in all apps physics."
This change created an issue where some items appear to not have springs when the device does not have that many apps.

This reverts commit 9d7f2b9e0d.

Change-Id: I8e79cf3f86972fde8184debb6ab4d0f32283a8bd
2017-06-06 20:36:24 +00:00
Jon Miranda 9d7f2b9e0d Decrease jank in all apps physics.
By creating the spring in onCreateViewHolder and adding
in onBindViewHolder, we are able to take advantage of
RecyclerView's prefetching optimizations.

Bug: 38349031
Change-Id: Ie445039fd90ca92ae4ce1ff71c57b15f662377a8
2017-06-05 14:27:20 -07:00
Jon Miranda 4e11c2738a Add physics motion to items in all apps.
Motion applied to:
- Icons
- Prediction icons
- Prediction divider

Bug: 38349031
Change-Id: I376e6e39080c8c80463a0ce8b104b05e4d576f17
2017-05-23 10:02:51 -07:00
Sunny Goyal dc19a07aba Adding support for top padding in BaseRecyclerView. The scrollbar is
drawn below the top padding.
Also adding callback for getting the all-apps vertical pull range
so that it can be controlled by SearchUiManager

Bug: 37616877
Change-Id: Ib4642073f3e92f6676caede3bddd652fda89c86f
2017-05-15 14:14:04 -07:00
Sunny Goyal 161f96bc77 Moving apps search related logic into a custom layout file
This will allow derivative projects to easily change the search behavior
by simply overriding the xml file

Bug: 37616877
Change-Id: Ib8d6a2dab06819a52611e9a3d97c70c5a49bbf97
2017-05-08 14:43:32 -07:00
Mario Bertschler c06af333cb Minor Refactoring only: no functional change
- organizing imports
- remove redundant modifiers on LauncherCallback interface
- fix typos

Change-Id: I61eb985cac7c1379b6b804a67d4f234386d3d1b4
2017-03-28 12:23:22 -07:00
Mario Bertschler 0fc6f684e7 App discovery integration in All Apps search
This is the basis for app discovery integration while searching in all apps.
This does NOT include binding to the actual service and retrieving results,
but instead provides all the UI to show suggested instant apps and apps
from a store with star rating and pricing.

Change-Id: I1605b52848491acee4ac1d15c0112e6a768363f6
2017-03-03 13:05:57 -08:00
Sunny Goyal 4497361984 Fixing accessibility description for all-apps grid adapter.
Only counting app icons towards various collection related info

Change-Id: I2aca87e1acf6cd7bdaddfbaad174e273e8272d4b
2017-02-21 16:45:48 -08:00
Sunny Goyal 2a65020da1 Removing the section break UI support
This was an exploration for an alternative UI in all apps, where we
show section headers before every section. This was never released.

Change-Id: I2d36f1d078cc9a6f3ba6f0ec9655412182c9b016
2016-10-13 09:39:36 -07:00
Tony Wickham 6e74e899d3 Refactor shortcuts drag and drop.
- Instead of creating our own drag view within the container, and
  handling logic to determine when to start a real drag, we start
  the drag immediately and just defer onDragStart().
- To determine when the deferred drag should start, we add a
  DeferDragCondition to DragOptions. The default DeferDragCondition
  never defers a drag, but is overridden for apps with shortcuts
  to defer until the icon is dragged a given distance.
- Because the drag is handled in DragController, including checking
  when to start the deferred drag, DeepShortcutsContainer no longer
  needs to handle touch events and ShortcutsContainerListener has
  been removed.

This change has several immediate benefits:
- The code is much cleaner, because it allows touch handling to be
  done by the DragController through the normal drag flow, without
  recreating logic in ShortcutsContainerListener/DeepShortcutContainer.
- The janky second haptic feedback has been removed (now it vibrates
  when you long press, like everywhere else, but not again when the
  shortcuts close after dragging a distance).
- Drops are animated, instead of just popping the icon back into place.

Bug: 30769920
Bug: 30465972
Bug: 31533078
Change-Id: I679b412b72fbf6c3895d76963311eb5010c8e8db
2016-09-23 18:44:47 -07:00
Hyunyoung Song 4ebc3d070f Change NavBar to transparent black
b/30615471

Change-Id: I7885e8a7fd63ee10c9b0107087046730e8acfde9
2016-08-05 10:59:17 -07:00
Hyunyoung Song 852974375d Merge "Centered all apps search text" into ub-launcher3-calgary 2016-07-21 00:35:05 +00:00
Winson 1f06427266 Initial changes to tweak layout.
- Adding DeviceProfile callback for when the launcher layout changes due
  to insets.  This is necessary since there are now different layouts
  depending on which side the navigation bar is on
- Consolidating hotseat and other layout into the device profile 
  launcher layout logic
- Making the all apps icons match the workspace icon height
- Tweaking caret drawable to draw to the bounds specified to simplify
  layout in each orientation
- Fixing minor issue with page indicator shifting in landscape
- Centering overview buttons to the workspace page

Bug: 30021487
Change-Id: I1866bce00b2948f3edd06168c0f88d81207e3f13
2016-07-20 10:17:08 -07:00
Peter Schiller a92447a7fd Centered all apps search text
Change-Id: I21aaec56cd2202cea284880a28d9513435877368
2016-07-19 12:21:10 -07:00
Winson e8eaa9c94c Ensuring that fast scrolling to predictions scrolls list to the top
- Fixes a long standing issue with fast-scrolling to the predicted apps
  not quite scrolling the list to the top of the screen.
- Fixes an issue where we don’t scroll exactly to the fast scroll 
  position due to rounding
- Also fixes a small issue where the thumb would not update when the 
  fast scroll popup was no longer showing, even while dragging.

Bug: 30023608

Change-Id: I6b5080c6aea521ff03dca24317f0405c02725061
2016-07-13 01:04:56 +00:00
Winson b655b88500 Cleaning up scrollbar logic to properly calculate stable extents.
- Removing old logic which assumed that views were the same size,
  especially now we can have variable dividers, etc.
- Simplifying old scroll position logic.
- Removing unnecessary prediction icon layout (same as normal icon)

Bug: 30023608
Change-Id: I39e1126fa586a76a9bdd3ff38cd6e360ac3021e6
2016-07-12 12:16:26 -07:00
Peter Schiller c2a20ff0a8 Consolidate all the dividers to provide same look and feel
Bug: 30017936
Change-Id: I072cb116dba1df555a63f3f67b730f7f9c3a235a
2016-07-08 15:02:03 -07:00
Peter Schiller 243ad3dbf8 Updating alignment of search input
Bug: 30017936
Change-Id: I2f68711762872bc100b41b2b4768d33e2c0cd902
2016-07-07 18:52:51 -07:00
Tony Wickham 1bce7fd342 Long-press on an app to reveal its shortcuts.
- Add ShortcutsContainerListener to icons on workspace, folders, and
  all apps. This handles long-press and forwards following touches to
  the DeepShortcutsContainer that is created.
- Drag over shortcut before lifting finger to launch it.
- Shortcuts are rendered in pill-shaped DeepShortcutViews,
  which are inside DeepShortcutContainer on DragLayer.
- The shortcut container orients above or below the icon, and left or
  right-aligns with it. Biases for above + left-align.
- Long press a DeepShortcutPill to drag and pin it to the workspace.

Bug: 28980830
Change-Id: I08658d13ae51fe53064644e8d8f7b42f150fdd7d
2016-06-29 17:48:46 -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 b7c2e99ffb Merge "Updating the app search buton text" into ub-launcher3-calgary 2016-06-08 22:35:32 +00:00
Sunny Goyal 3333b0ced8 Unifying focus indicator handling for workspace and all-apps
Adding an abstract FocusIndicatorHelper based on FocusIndicatorView
which draws the background instead of using a dummy view.

Change-Id: Id560195323d2ddad8fcd77ba675cf3f4fd4a94ab
2016-06-08 15:00:09 -07:00
Adam Cohen 6e92f05314 Ensure that custom actions are available to all apps items
-> When BubbleTextViews were being recycled, the RecyclerView was clearing the
   AccessibilityDelegate. Ensure that this is reset by the adapter when a
   BubbleTextView is reused.

issue 25948877

Change-Id: I95dd21bfdcd602a67925d1b8f06e6ca92d1d7203
2016-06-07 14:33:03 -07:00
Sunny Goyal 8653f1d748 Updating the app search buton text
Bug: 28774501
Change-Id: I268a2d98f70d160c91ebd8fc796f3626ae67c159
2016-06-07 10:31:49 -07:00
Sunny Goyal 97660f7a94 resolve merge conflicts of 2494c3f168 to ub-launcher3-calgary
Change-Id: I807016057da9b867ebb2c8f3ee2027a3a2688d30
2016-03-03 13:52:22 -08:00
Sunny Goyal 2494c3f168 Moving createMarketSearchIntent to search controller to allow it to be customizable
Change-Id: I3a05abf7c0357a2f92c8a3fa2dc223f9eacc221e
2016-03-03 11:36:38 -08:00
Sunny Goyal 9e3fee1427 Starting market search whenever the search key is pressed
Bug: 27365428
Change-Id: I508cb35cd1aaab1eac6cf60014fa6f80592365ef
(cherry picked from commit 992a5f566e)
2016-03-03 18:36:35 +00:00
Sunny Goyal 992a5f566e Starting market search whenever the search key is pressed
Bug: 27365428
Change-Id: I508cb35cd1aaab1eac6cf60014fa6f80592365ef
2016-03-02 11:32:18 -08:00
Sunny Goyal 4759760bc9 Removing LauncherCallbacks control over app search
am: c42ac0a5a6

* commit 'c42ac0a5a6f0a4e41a9fc1b694f841204ae1989c':
  Removing LauncherCallbacks control over app search
2016-02-18 23:50:51 +00:00
Sunny Goyal c42ac0a5a6 Removing LauncherCallbacks control over app search
Change-Id: Icb199607dea3f169055e44946272aa9f1e758d1d
2016-02-18 15:32:27 -08:00
Sunny Goyal e72f1d1428 Accessibility delegate is already set in BubbleTextView constructor. Not need to set it again
am: e70fb6f8ef

* commit 'e70fb6f8ef03561b7875b872d0efa4ae2a5926af':
  Accessibility delegate is already set in BubbleTextView constructor. Not need to set it again
2016-01-07 21:54:24 +00:00
Sunny Goyal e70fb6f8ef Accessibility delegate is already set in BubbleTextView constructor. Not need to set it again
Bug: 25948877
Change-Id: I1d301a6169404a78881fa29da6d6bdf2fec8f146
2016-01-07 13:51:09 -08:00
Winson e98bcdbb9c am 34ef93cc: am 058c21db: Ensure accessibility delegate is set on all apps icons.
* commit '34ef93ccd6e2cdb4b12cf7bf6bedf8216662e2b2':
  Ensure accessibility delegate is set on all apps icons.
2015-10-07 20:40:27 +00:00
Winson 34ef93ccd6 am 058c21db: Ensure accessibility delegate is set on all apps icons.
* commit '058c21db49f4f058b7d84c8de55d3c649918ab70':
  Ensure accessibility delegate is set on all apps icons.
2015-10-02 17:21:59 +00:00
Winson 058c21db49 Ensure accessibility delegate is set on all apps icons.
Bug: 24605237
Change-Id: I801e2aca1732c021b06d996d907f368f97277cf9
2015-10-02 17:16:15 +00:00
Winson 0b90814f86 am c0880491: Highlighting sectioned apps on fast-scroll.
* commit 'c088049113c261331b5685e64050d14a31cd72df':
  Highlighting sectioned apps on fast-scroll.
2015-09-29 17:09:03 +00:00
Winson c088049113 Highlighting sectioned apps on fast-scroll.
- This CL fixes an old assumption we had about the height
  of rows in AllApps, and ensures that we account for the
  difference in height between the predictive icons and the
  normal icons.
- In addition, we refactor FastBitmapDrawable to have multiple
  states, which it manages in drawing itself, including the
  press state and fast scroll focus states.  And we also refactor
  some of the fast scroll logic in the all apps recycler view
  out to its own class.

Change-Id: I1988159b2767df733bbbfc7dc601859cde6c9943
2015-09-28 17:32:19 -07:00
Sunny Goyal f4f89ef608 Using context.getString for getting formatted strings, as it works better with different locales
Change-Id: I9639bb11197e656c5cdd3a4d63f913edcc0987cb
2015-09-02 22:15:29 +00:00
Winson Chung 3eefff8d77 am 0947f5c2: Merge "Adding graphic for all apps empty search screen." into ub-launcher3-burnaby
* commit '0947f5c26804bc74b8f1242d856c1f703544c3de':
  Adding graphic for all apps empty search screen.
2015-08-28 21:20:28 +00:00
Winson fee206f241 Adding graphic for all apps empty search screen.
Change-Id: I976a327a5984790c458b0f36d33c0b1ac16ec59c
2015-08-28 12:34:55 -07:00
Sunny Goyal 42e28092b3 Removing some eclipse warnings
Change-Id: I160feaee81b262be02446885fae643c0be71b7af
2015-08-17 12:56:19 -07:00
Winson Chung a2917f6a0b Merge "Ensuring that AllAppsGridAdapter is public." into ub-launcher3-burnaby 2015-08-11 23:33:55 +00:00
Winson eea9fa4022 Ensuring that AllAppsGridAdapter is public.
- Also show the search action when searching all apps

Change-Id: I3470b0da565e6d1bce637ce09384d966215a4ca7
2015-08-11 16:27:16 -07:00
Winson Chung bedf9232eb Adding market search.
Change-Id: Id41615653cd4fa76213add4595418ad0cc6e7852
2015-08-06 12:22:38 -07:00
Winson Chung deaf4d169b Fixing issue with accessibility falsely reporting app count when there are no search results.
Bug: 22672783
Change-Id: Ie40acc592e59699eac2a4ff2045a7f8ba029d33a
2015-07-30 12:54:27 -07:00
Winson Chung 1ae7a5018b Moving prediction icons back into recycler view.
- Fixes two accessibility issues with the prediction bar being
  separate from the rest of the list of icons related to scrolling
  and switch access.

Bug: 21725276
Change-Id: Ibc48e5028cace9a77000e6646b951f021910465d
2015-07-06 17:46:32 -07: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
Winson Chung fbc5b18626 Refactored section names to only draw when there is space.
- This CL removes all space for section names in both phones
  and tablets.  And when there are no section names, the layout
  will automatically fully merge the sections.

Bug: 20222023
Change-Id: Ic7c751d86f095e5cbd690bfd4f94bb5b00ff8ae4
2015-06-16 00:55:02 +00:00