Commit Graph

115 Commits

Author SHA1 Message Date
Jon Miranda aeb4dd026c Fix bug where default folder name doesn't change when locale changes.
Bug: 78611156
Change-Id: I25c67fc5ebc3edc2d6090f0da0e37bf2e4c07cbf
2018-07-12 12:41:52 -07:00
Tony Wickham 52c1b66f46 Go back to previous state when hitting back from discovery bounce
Normally when you hit back, we just close the floating view if there
is one. This makes less sense for DiscoveryBounce, since it doesn't
feel like a different state even though it's technically a floating
view. So in that case, don't consume the back press; let launcher
handle it to go to the previous state.

Bug: 80075741
Change-Id: I7270b61be70509cb2101400a12929478a5d082aa
2018-05-21 16:01:49 -07:00
Sunny Goyal de75321542 Fixing wrong accessibility focus when opening a floating view
> Using common logic for announcing a floating view for widgets and folders

Bug: 79091095
Bug: 79748886
Change-Id: Ibb3fe48e68e724f50d69f51a03d3b35ad0baf625
2018-05-16 13:11:00 -07:00
Jon Miranda 83337f9e8e Call close for AbstractFloatingViews that were removed while still open.
I'm not sure how/when this case occurs (perhaps during some transition/state
change), but manually removing the floating view matches the symptoms in the
bug.

Bug: 72996404
Change-Id: I1e7c1a338fcd16c8e07b3c49fb9c9b2097eb2708
2018-04-25 11:25:40 -07:00
Tony Wickham b65040ac7b Fix back button not showing in all floating views
We only show the back button when adding the floating view to the
drag layer if it is already "open". A couple of floating items
(folder and options popup) added first then set mIsOpen, causing
the back button to not appear. (We have to check that it is open,
and not just on the drag layer, because we want to get rid of the
back button when changing to some states such as spring-loaded. If
we only checked if the view was present, it wouldn't hide if one of
the floating views such as folder or shortcuts was animated closed.)

Bug: 76169527
Change-Id: I0dff6d2e3424eab72d47dccc42cc703a0fb0141b
2018-03-23 16:22:06 -07:00
Sunny Goyal 7c7be8c20a Simplifying options popup and overview handling
> Removing support for page drag-n-drop from pagedView
> Removing Overview UI from Launcher3 without quickstep and using options popup instead
> Removing touch handlers from CellLayouts and showing options popup based on workspace long press
> Excluding touch outside inset when showing the popup

Bug: 74136505
Change-Id: I34c2a7ff58452db26f5d1a85d554be40fc75f2b8
2018-03-13 12:57:32 -07:00
Sunny Goyal 972d121edb Fixing folder icons not handling clicks
Change-Id: I52c21086d5734783ffc26e75b301ecce1a8bb956
2018-03-09 13:10:02 -08:00
Winson Chung ca84552505 Revert "Revert "Adding a separate state for QuickScrub""
This reverts commit 2687257c98.

Reason for revert: Reverting post-build

Change-Id: Ic3a1e8ed84a227b42bc35b91d4f0eed60bb2e29c
2018-03-05 19:39:25 +00:00
Winson Chung 2687257c98 Revert "Adding a separate state for QuickScrub"
This reverts commit 6c6c2f45f7.

Reason for revert: Temporary revert for build.

Change-Id: I3947e9b2d4e5788f9d2a0c4e2e8b7d425d5bc775
2018-03-05 18:06:48 +00:00
Sunny Goyal 6c6c2f45f7 Adding a separate state for QuickScrub
Bug: 74014237
Change-Id: Ie86ac589f0ad0e1470fb6b0b71263ec6593eb1e3
2018-03-02 15:38:21 -08:00
Hyunyoung Song b3fbc0ba8f Quick step/scrub/switch logging
- state transition happening due to Home and back is handled by
  specifying src target as 'from' container and dst target as the 'to'
  container
- Source and Destination container shows FROM and TO state for SWIPE/FLING
- event.isStateChange = true indicates that an action resulted in
  state transition
- Elapsed container millis is the screen time on the source container

Bug: 70181187

- logcat printout with setprop log.tag.UserEvent VERBOSE
1) State: WORKSPACE -> ALLAPPS
  action:FLING direction=UP
  Source child:HOTSEAT id=0	parent:WORKSPACE id=0
  Destination child:ALLAPPS
  Elapsed container 1225 ms, session 1225 ms, action 0 ms

2) ALLAPPS -> HOMESCREEN
  action:FLING direction=DOWN
  Source child:ALLAPPS	parent:ALLAPPS
  Destination child:WORKSPACE id=0
  Elapsed container 971 ms, session 2197 ms, action 0 ms

3) HOMESCREEN -> OVERVIEW
  action:FLING direction=UP
  Source child:NAVBAR	parent:WORKSPACE id=0
  Destination child:TASKSWITCHER
  Elapsed container 4834 ms, session 4834 ms, action 0 ms

4) OVERVIEW-> ALLAPPS
  action:FLING direction=UP
  Source child:TASK	parent:TASKSWITCHER
  Destination child:ALLAPPS
  Elapsed container 2176 ms, session 7010 ms, action 0 ms

5) ALLAPPS->OVERVIEW
  action:FLING direction=DOWN
  Source child:ALLAPPS	parent:ALLAPPS
  Destination child:TASKSWITCHER
  Elapsed container 3683 ms, session 10693 ms, action 0 ms

6) OVERVIEW-> HOMESCREEN
  action:FLING direction=DOWN
  Source child:TASK	parent:TASKSWITCHER
  Destination child:WORKSPACE id=0
  Elapsed container 2108 ms, session 12801 ms, action 0 ms

7) APPS-> OVERVIEW
  action:FLING direction=UP
  Source child:NAVBAR	parent:APP
  Destination child:TASKSWITCHER
  Elapsed container 104 ms, session 104 ms, action 0 ms

8) Quickscrub: action:DRAGANDDROP Source child: QUICK

9) Quickswitch: action:FLING Source child: QUICK

Change-Id: I5898230859ff600f48a2a873a40b670fe4d39a0d
2018-02-20 22:40:19 -08:00
Tony Wickham b4b7e20ebc Bound folders to overview panel instead of workspace
Since the workspace is scaled down in overview, the folders
were moving too far from the hotseat.

Change-Id: I3e8810f918436fec3a646abda9c147b688cb803b
2018-01-12 17:59:25 -08:00
Sunny Goyal 18a4e5aefb Making LauncherIcons thread safe
Creating a pool of LauncherIcons so that they can be used from multiple threads

Change-Id: Idc7b5ddb47b6e338a5389f3c4faa6f63de108c72
2018-01-09 17:30:52 -08:00
Sunny Goyal 6bb51f425b Removing some unused code path
Change-Id: I16a651d77c6557b33f8389407a222f058a8168d4
2018-01-04 11:12:44 -08:00
Sunny Goyal d0030b05f5 Adding placeholder method for compat implementations for Accessibility manager
> Moving some utility methods to the compat class

Bug: 69611105
Change-Id: Ide0cab0b926d7bc03617fc568d2a2b429ee00cd9
2017-12-08 16:09:45 -08:00
Sunny Goyal 3e3f44c3ad Exposing the state manager directly instead of providing various helper methods for state change
Bug: 67678570
Change-Id: If3d05c804c034ffa5e403da8eaa23e85e373c863
2017-10-25 13:41:13 -07:00
Sunny Goyal 4c7f215651 Moving Workspace states into a separate file
Bug: 67678570
Change-Id: I5c63b4df29ca0f58a0223fb1919abc132576a1b6
2017-10-18 09:17:43 -07:00
Sunny Goyal aeb1643ec6 Launcher state management cleanup
> Removing Widgets and related states
> Fixing different durations being used when opening/closing all-apps
> Removing some unnecessary object allocations when changing state without animation
> Differentiating widget bootm sheel and full sheet in logs

Bug: 67678570
Change-Id: Ic169528736d04ee0b38564b4f96595ba066eabda
2017-10-17 12:42:08 -07:00
Sunny Goyal 1797af41d1 Cleaning up drag state management.
When the drag is started, the UI automatically goes into spring loaded mode. On a successful
drop, it is the responsibility of the {@link DropTarget} to exit out of the spring loaded
mode. If the drop was cancelled for some reason, the UI will automatically exit out of this mode.

Bug: 34692289
Change-Id: Ic611739a43bb8d9279b587aaee3039326c143e8b
2017-10-16 13:06:52 -07:00
TreeHugger Robot 6750836bd0 Merge "Merging duplicate logic for deferred drop handling in Worksace and Folder" into ub-launcher3-master 2017-10-06 17:00:40 +00:00
Sunny Goyal 3dce5f3f50 Merging duplicate logic for deferred drop handling in Worksace and Folder
> All the logic is contained in UninstallDropTarget
> Also fixing a bug were mWaitingForResume was not cleared

Bug: 34692289
Change-Id: I617475ce53062902d6817954fb608198e6e03d3c
2017-10-06 09:07:36 -07:00
TreeHugger Robot 878b5efaa3 Merge "Polish animation when icon returns to Folder." into ub-launcher3-master 2017-10-05 22:12:03 +00:00
Sunny Goyal 1ce9c476f7 Removing some methods from the DragSource
This makes is easier to create new DragSource and sets up
proper default values in DragOptions

Change-Id: I6cb0b1df41b9730cf29f785fe85fe7f0b573ee3a
2017-10-03 16:18:46 -07:00
Sunny Goyal 3792096688 Allowing the widgetBottomSheet to be dragged
even when the touch is started from outside the panel

Removing various instanceOf checks in onNewIntent and onBackPress
and moving all the corresponding logging in the FloatingView
This simplifies handling of panel specific log and avoids
missing a particular panel type in the if-else statement.

Bug: 64751884
Bug: 64751923
Change-Id: I98f5aae18560a64be73c9efcf495479740d49a00
2017-10-02 16:18:52 -07:00
Jon Miranda 6d3586c761 Polish animation when icon returns to Folder.
ie. The animation when the user drags an icon from a Folder to a
full workspace/hotseat.

Bug: 31443188
Change-Id: If51b23cd8fc822543ac3f550f9fd2e48dd58e0e9
2017-09-11 11:01:31 -07:00
Sunny Goyal add3d8322d Removing some folder customization options
The old folder preview and animation relied on creating bitmaps for transition.
As we move to hardware bitmaps, creating custom bitmaps which rely on icon bitmaps
would be costly (hardware bitmaps are immutable and cannot be drawn on a software canvas).

Bug: 35428783
Change-Id: I39869ed44feb6a886985ad15775bc1ab55565727
2017-09-08 12:07:24 -07:00
Jon Miranda b24fa30025 Fix crash when adding PinShortcutRequestActivityInfo to Folder.
Bug: 63770450
Change-Id: Ibc7553933a53d8af459628add7644fbaf5820cb0
2017-07-18 11:04:55 -07:00
Jon Miranda 19db4255a6 Fix bug where Folder name stayed invisible.
Accidentally removed from Change-Id: I7ede7ed9e091e2a0c3cbe11731744bfe9ce36595

Bug: 63777585
Change-Id: I3178944285f11ab3efbd3b446c22b4b5f6843988
2017-07-17 17:45:52 -07:00
Jonathan Miranda 8701cd58cf Revert "Match items in icon preview with items in Folder using permutations."
This reverts commit 69c340a05e.

Change-Id: I4178b58e847a87e5cd7e5fa4b6886f0d72ba387b
2017-07-13 16:49:33 -07:00
Jon Miranda 27bdbcae7f Slide in first page preview items in FolderIcon after Folder closes.
If the Folder is not closed on on the first page, we animate the
current page items as if they are in the preview.

When the Folder finishes closing, the first page preview items
slide in as the current page preview items slide out.

Bug: 36022592
Bug: 35064148
Change-Id: I7ede7ed9e091e2a0c3cbe11731744bfe9ce36595
2017-07-10 11:28:57 -07:00
Jon Miranda 6c5d10261e Move the PreviewItem drawing/animation logic to PreviewItemManager.
We want this refactor in O-DR since we will be adding more animations:
- closing from a non-first page (ag/2455887 b/36022592)
- new on-drop animations *if we end up removing the permutation logic.

Bug: 36022592
Change-Id: I82b8f5f5033d4fd9bd50fbe414b0fb721891d043
2017-07-06 12:20:56 -07:00
Jon Miranda 69c340a05e Match items in icon preview with items in Folder using permutations.
Before, with the FolderIconPreviewVerifier, we would
adjust which items are displayed in the FolderIcon.
This caused some issues where the apps in the folder
icon would jump to whatever was in the upper left quadrant.

Now, we always display the 4 first items in the icon by
modifying the XY positions of the items within the Folder.

Bug: 27944225
Bug: 35064148
Change-Id: I46c0fbb064d4da4da155e29963bfb92b14e40f07
2017-06-28 09:52:11 -07:00
Jon Miranda 1d9cc32475 Fix Folder text animation bugs.
* The Folder text was not getting reset back to visible on close.
* DoubleShadowBubbleTextView now draws the shadow using the
  alpha of the current text.

Bug: 62967568
Bug: 35064148
Change-Id: Iea3e5275b6878fc362150e99a225ff700b946f44
2017-06-26 11:43:58 -07:00
Mario Bertschler cd04c89f89 Removing view.isInTouchMode() because plaform returns false when
using a mouse on long click.

Bug: 38204847

Change-Id: I5b10e8251f4f0a7b148c0404d5939a0fa8325a46
2017-06-22 09:29:46 -07:00
Jon Miranda 544946ae80 Set mDragInProcess to false in onDragEnd.
Before this change, it was possible to touch (not drag and drop)
a Folder and have it open to a non-first page.

With this change, the Folder always opens to the first page on touch.
For drag and drop, it will still open to the last page.

Bug: 36022592
Change-Id: Ib0417eaf7e4866e874369b3b35248231a54cba06
2017-06-21 12:00:19 -07:00
Jon Miranda f9e8626fd0 Fix shadow problems with Folder animation.
The shadow from the top of the Folder is visible through
the transparent part of the 'preview' background. When we
remove the elevation as part of the animation, the shadow
jumps into visibility when the animation is done.

To solve this, we remove the elevation during the Folder animation and
 * Animate the elevation at the end of the Folder opening animation.
 * Animate the shadow of the FolderIcon bg in once the Folder is closed.

Bug: 62787582
Bug: 35064148
Change-Id: Id5d8fcbfa4f74882531334f12488560da2496faf
2017-06-20 09:24:17 -07:00
TreeHugger Robot 60c26d1424 Merge "Fade folder icon text when opening/closing." into ub-launcher3-dorval-polish 2017-06-19 23:34:24 +00:00
Jon Miranda 1991450cb0 Fix bug where TalkBack reads both folder name and hint.
am: 7d18dd8f07

Change-Id: Iedf8f4f8c4f9063372afb57ca1cf7462a15d7223
2017-06-19 20:26:20 +00:00
Jon Miranda 7d18dd8f07 Fix bug where TalkBack reads both folder name and hint.
In O, TalkBack reads both content description and the hint.
We clear the hint when the Folder is named so that TalkBack
only reads the Folder name.

Bug: 62557038
Change-Id: I222fef2e1ce4a0bc222f0ca7bfb2f24281907188
2017-06-19 18:08:52 +00:00
Jon Miranda e4a252a16b Fade folder icon text when opening/closing.
Bug: 62065293
Bug: 35064148
Change-Id: I9c54c6d222216fa079c76a069f0ec8dd966d5bfb
2017-06-18 17:47:11 -07:00
Tony 814deadc2c Animate badge after folder closes
Bug: 62586079
Change-Id: I17d7b88730c16f5cce36972dd485fd10b823f742
2017-06-15 18:30:41 -07:00
Jon Miranda 4e54a4cfa5 Fix bug where item was not moved in database when added to a Folder.
I thought calling arrangeChildren(saveChanges=true) would handle
this case, but because we set the position and rank in addViewForRank,
arrangeChildren does not see any changes to save.

Change-Id: Iab0fefe6da7711857ea05955a3243459f4e8527b
2017-05-23 11:45:17 -07:00
Jon Miranda c476d6e192 Allow user to place PendingAddShortcutInfo in opened Folder.
Current implementation only allowed dropping PendingAddShortcutInfo
on a FolderIcon.

Bug: 37814579
Change-Id: Ice42421c34665b0ebf199945761c5c86614573a4
2017-05-22 14:49:28 -07:00
Jon Miranda f79e54b8ac Add missing 'leave behind' view for new Folder animation.
Bug: 35064148
Bug: 38338552
Change-Id: Iac1a795acf0ab21cf319e50d8b504cf42fbbb976
(cherry picked from commit 9544c8e498)
2017-05-16 17:20:50 +00:00
Jon Miranda bdb5424fae Fade in the FolderIcon stroke after Folder animates closed.
When the Folder animates closed, it hides itself the same
time as the FolderIcon becomes visible. Because the Folder
does not have the white stroke outline, there is a visual
jump between the closed Folder and the FolderIcon.

This change is a subtle and easy step towards reducing
the visual jump.

Bug: 35064148
Change-Id: I8aeeed873e7144499d19f3b01c85bfa8a792097f
2017-05-01 19:07:56 +00:00
Tony Wickham 52f0130a76 Merge "Add WidgetsAndMore bottom sheet" into ub-launcher3-dorval
am: d73fbb5f97

Change-Id: I5d1bad3ea83e672076dbd3b6f2d80d5149f3921c
2017-03-30 23:26:12 +00:00
Tony Wickham 50e5165b78 Add WidgetsAndMore bottom sheet
- Contains two rows, one for widgets, and one for "configurable
  shortcuts" that have customization activities
- Extends AbstractFloatingView and uses VerticalPullDetector for
  touch interactions
- No way to show this currently; will add options to popup in followup

Bug: 34940468
Change-Id: Iab62c2cb89428f91119c9c86f9db886496c321fd
2017-03-30 15:48:53 -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
Jon Miranda f0cbf0f8b8 Disable drag and drop on Folder when its animating.
Bug: 36644495
Bug: 35064148
Change-Id: Icd335a773359152fa2680e84f56c3e2eef3551e0
2017-03-27 11:29:19 -07:00
Jon Miranda 91d1439430 Remove setCurrentPlayTime call as it causes a crash.
In the previous change [1], we remove the duration
from the AnimatorSet so that the preview item
animations can finish faster than the other animations.
This causes the call to setCurrentPlayTime to crash,
because we never set a duration on the AnimatorSet.

This can be solved by creating a ValueAnimatorSet (future CL).

1: If63d4d032078ff4e28b72a09e35da3a71f1d0e27

Bug: 35064148
Change-Id: Ieed21e1ba8e669132188ce15fc20195ac841d14c
2017-03-23 15:27:14 -07:00