Commit Graph

37 Commits

Author SHA1 Message Date
Sunny Goyal 260b07fa86 Creating AllAppsBackgroundDrawable using DrawableFactory to allow
easier overriding using derivative projects

Change-Id: I7265d888876ea0928391f76ec1bcb7d928c0f27a
2017-01-08 13:14:51 -08:00
Sunny Goyal 6c46a6d324 Using java_style enum generation for proto
This makes it easier to track various method parameters and simplifies
debug logging

Change-Id: Ib7c3d52590d0c36b2c8460c889ee3bead3454569
2016-12-15 09:30:35 -08:00
Sunny Goyal 00e106880d Removing unused background padding from base recycler view
Change-Id: I36f68a143df8f3668074b3539aa9af170a91e511
2016-10-18 21:36:29 +01: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
Sunny Goyal 5d9fb0e92f Simplifying fast scroller logic
> Using a separate view for drawing the popup. This allows us to use elevation
  property instead of drawing the shadow as bitmap.
> During the thumb animation, invalidating the full track width, instead of
  invalidating the track and thumb separately.
> The thumb path is calculated at 0,0 and drawn using canvas.translate().
   This avoids recalculating the path on every scroll.

Change-Id: I48741e5b4432df0d939016db284d7aaf52cc2aa6
2016-10-10 14:17:16 -07:00
Hyunyoung Song 59a238095e Support user event logging for drag and drop
b/30039490

Supported in this CL:
- DnD: drag from container [WORKSPACE|HOTSEAT|FOLDER|ALLAPPS|WIDGETS|DEEPSHORTCUTS]
       drag to container [HOTSEAT,WORKSPACE,FOLDER,DROPTARGETS]
- Source and target can be [FOLDER_ICON, ICON, DEEPSHORTCUT, WIDGET]
- $ adb shell setprop log.tag.UserEvent DEBUG will turn on debugging

Change-Id: I0b8b879b80e6dce85bbde6e7794f9e0677832603
2016-09-01 12:47:12 -07:00
Tony Wickham d8f951f923 Log shortcuts open on ACTION_UP instead of in showForIcon().
am: be06874c81

Change-Id: Iefc3b03644c2c197f0b744bb9f42fd3058624377
2016-08-12 20:36:40 +00:00
Tony Wickham be06874c81 Log shortcuts open on ACTION_UP instead of in showForIcon().
- We only want to log when the container is opened and potentially
  used, not when a long press is followed by a drag-and-drop.
- Also cleaned up code that was determining the container of the
  app icon, since LaunchSourceProvider.fillInLaunchSourceData()
  can do that instead (it's more robust and consistent).

Bug: 30791570
Change-Id: I05b6750f26182fda8a9940ac66f1371c2d228ca9
2016-08-10 18:26:41 -07:00
Hyunyoung Song 4ebc3d070f Change NavBar to transparent black
b/30615471

Change-Id: I7885e8a7fd63ee10c9b0107087046730e8acfde9
2016-08-05 10:59:17 -07:00
Tony Wickham 55c6691e3a Add logging for shortcuts opening.
- Log as long press with child type DEEPSHORTCUTS container
- Parent type can be one of WORKSPACE, HOTSEAT, FOLDER,
  ALLAPPS, PREDICTION, or SEARCHRESULT.

Bug: 30537079
Change-Id: Ie62e4889ee06c845f959ca998781787a7fdaf00e
2016-08-01 17:55:07 -07: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 2e22b5d2de Fixed header elevation shadow on rotate
Change-Id: I1a4b55cf9af67d93e56d84378036c0061b6e8104
2016-07-13 01:06:09 +00: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
Hyunyoung Song aa95365427 Refactor UserEventDispatcher (1/2)
b/28269657

Change-Id: I1083e6f73f42ac1986428a39c6b532050e595ac6
2016-04-19 18:30:24 -07:00
Hyunyoung Song ddec1c739e Refactor UserEventLogging, Add predictedRank, replace Bundle with Proto
b/26494415
- Removed bundle object that became redundant now that we have LauncherEvent proto
- Combined Stats and UserEventLogger as they are effectively doing same thing
- Removed parent field inside Target
- added predictedRank target inside Target

b/27967359
- make com.android.launcher3.action.LAUNCH broadcast explicit
Later CL: finish packageName/intent/componentHash/predictedRank fields

Change-Id: I441fb46c834f73e58a4d2324e8da7971e8713ec8
2016-04-13 10:58:33 -07:00
Sunny Goyal 0ac7ede56a Merging search bar with all apps
Change-Id: I78577124cd3c05d52669c3e52b0294d6eb1d194d
2016-02-08 14:55:22 -08:00
Winson a49b1f75cd Fix issue with source params not reporting predicted apps.
Bug: 25020080
Change-Id: Iaa67ccbb3e3a6c264aaa4fa3c915faad8a69bbbc
2015-10-16 14:57:24 -07: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
Winson 646c236ad2 Disabling fast scroller when searching apps.
- There is no meaningful order for the app search results since they are ranked.

Bug: 23759082
Change-Id: I0aa4eea68136ea3ecef2a80b20ba7b0d46f0653b
2015-09-03 18:49:43 +00:00
Winson Chung 0947f5c268 Merge "Adding graphic for all apps empty search screen." into ub-launcher3-burnaby 2015-08-28 21:08:49 +00:00
Winson fee206f241 Adding graphic for all apps empty search screen.
Change-Id: I976a327a5984790c458b0f36d33c0b1ac16ec59c
2015-08-28 12:34:55 -07:00
Winson 2605900854 Fixing issue with missing scroll bar after fast-scrolling and searching.
- This was due to us not re-attaching the thumb to the scrollbar after
  we scroll the view to the top explicitly without the user scrolling.

Bug: 23562489
Change-Id: I5932b9b3b9358e23c0ec23aa235644b4f27c43ea
2015-08-27 12:30:08 -07:00
Winson 51a7d96544 Making the detached scrollbar catch up faster to the actual scroll position.
Bug: 20035978
Change-Id: I4f9780e1c5c1d10a7956ece729163544d79d72c3
2015-08-24 12:28:16 -07: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
Winson Chung bedf9232eb Adding market search.
Change-Id: Id41615653cd4fa76213add4595418ad0cc6e7852
2015-08-06 12:22:38 -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 1cddad6c6b Fixing issue with casting context to activity. 2015-06-26 00:08:34 +00:00
Sunny Goyal b713ad4adb Removing some synthetic methods
Change-Id: I08310e21871c7d670eb384ef1e835d155540c3e8
2015-06-24 11:46:13 -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
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
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
Winson Chung 8f1eff7b6c Adding context for app launches.
Bug: 21492784
Change-Id: I1b28ac8f44498e1d9770e770b074f19c721c3f10
2015-06-02 16:58:30 -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
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