Commit Graph

88 Commits

Author SHA1 Message Date
Vadim Tryshev
17839d5f62 Removing discovery bouncer from accessibility
It was obstructing views under it.

Solves both Talkback and Switch Access issues.

Bug: 80192025
Test: Manual
Change-Id: Ia7fad91e1fcb857afbf68f879550c670279cee68
2018-05-23 16:51:41 -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
Winson Chung
7dd3b521ff Clear ref to animation after drag & drop animation completes
- LauncherAppTransitionManagerImpl -> DragLayer -> mDropAnim -> mDragView
  (via the update listener) -> mBitmap

Bug: 76162466
Test: Take hprof after picking up an app or widget, ensure there are no
      references to the image created for drag and drop

Change-Id: Iffc92eed13775921567f9ac25fea8e356d6fe963
2018-05-14 10:12:50 -07:00
Sunny Goyal
6001ea2e2f Separating the draglayer alpha into multiple dimensions so that different animaitons
can run without affecting the other.

Bug: 79323355
Bug: 78880824
Change-Id: I11cb464ebdaad0a7f0a56d4bc4c3dff1d56da16b
2018-05-11 12:18:39 -07:00
Sunny Goyal
5d1873a812 Removing scrim overdraw
> Moving all the scrims to draglayer to avoid creating multiple layers during
  various animations
> Removing sys-ui scrim in various states which alread have a background scrim

Bug: 74556464
Bug: 78585335
Change-Id: I8a3fd34ed440f3c7d2e19b3cdb4b72723c535602
2018-05-10 10:52:31 -07:00
Sunny Goyal
0b0847b272 Fixing taskMenu and taskView clicks in fallback activity
> Extracting common methods from Launcher & DragLauncher to base classes
> Remoting some dependencies on Launcher and using the base class instead

Change-Id: I121cacf8a14190b4703cda60bdeb4f79eee69ded
2018-03-15 17:29:43 -07:00
Tony
865ee02d20 Show back button when a floating view is visible
Bug: 74184060
Bug: 74243869
Change-Id: I3b1806e10d3f910ce3a8a980c2b1e0609e01582b
2018-03-07 12:21:10 +00: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
Sunny Goyal
6639a5dfe0 Updating the scrim and landscpae ui
> Instead of views, using a custom class to draw the color scrims
> All-apps has full screen UI
> Quickstep does not have search box in landscape

Bug: 73085356
Change-Id: I360a78a2ade0134daad29fe712796cd39a381fbb
2018-03-01 11:23:46 -08:00
Sunny Goyal
fa8a5ac615 Fixing swipe on nav-bar does not work on launcher when in multi-window mode
Change-Id: I0d2a15c14efc48455af1aaf829504fd3bb31c0a5
2018-02-07 13:30:13 -08:00
Sunny Goyal
7e2e67fd47 Adding isSeascape method to have a common place to orientation check
Change-Id: Ia61792b29ab0d1d74f76a8dfa53bbf968874dfaa
2018-01-26 13:47:32 -08:00
Sunny Goyal
19d32b76dd Removing multi-state apha control for hotseat
Change-Id: I68ccbe96caa70921aefd18fc8ec9ad0638c3fab1
2018-01-19 14:26:44 -08:00
Jon Miranda
de43a71b06 Move scrim from DragLayer to LauncherRootView.
This change will make opening/closing animations a lot cleaner.

Change-Id: I7f8ae301a9a126023833e282d6654bebd09bb306
2018-01-18 14:15:45 -08:00
Sunny Goyal
7c8a65e740 Adding support for auto-cancelling an action mode when interacting with launcher
Change-Id: Iba0207e36e9e5bd94bd9016318a4e00c6e1f6393
2017-12-22 11:11:54 -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
7ede6118b7 Moving discovery bounce logic to a separate class.
Removing special transition handling around discovery bound to avoid
inconsistant UI state

Change-Id: Ia40bcb0719076021a6c96f1bd16d44da0286a209
2017-12-06 10:34:16 -08:00
Jon Miranda
758d5047be Refactor InsettableFrameLayout/DragLayer and add StateListener interface.
Bug: 65387919
Change-Id: I5eb94c0f3962d44f63af3efc92d852e019bba711
2017-11-09 11:23:07 -08:00
Sunny Goyal
85525173ce Rearranging the code structure to allow replacing state logic.
Change-Id: I6f83d0f77045ba189f02dd465bf70ffc2a239aa1
2017-11-06 14:57:50 -08:00
Sunny Goyal
031022029b Using state animation to control all-apps transition
> Separating all-apps transtions control and vertical shift touch handling
> Creating separate spring handler for search box (to avoid adding and removing spring)
> Driving all-apps vertical shift using state AnimatorSet

Bug: 67678570
Change-Id: I3b6a4d1f43275a5f485b399444742b6b9a8c4bb9
2017-10-31 15:29:02 -07:00
Sunny Goyal
5bc6b6f14c Consolidating various interpolators
Change-Id: I9588eee3552001b162a1e8d5ccefcfb44d221880
2017-10-26 16:38:55 -07:00
Sunny Goyal
b871c13ee3 Adding a compat implementation for playback control on AnimatorSet
Change-Id: I9f01fc319341cf2499fffb59521d32c2c81eba45
2017-10-26 10:18:41 -07:00
Sunny Goyal
d79dd20e88 Deteriorating PinchToZoom interaction
Instead of using a custom animation, simply using the LauncherStateTransition
animation to control the transition. This keeps the state transitions sane.

Bug: 65598794
Bug: 67678570
Change-Id: Id1be0ca98b6a0ecf9ab7feadb23408cbef526d0e
2017-10-19 14:58:18 -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
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
Sunny Goyal
988ad27be4 Applying the widget resize changes even when the activity is destroyed
in the middle of the resize interaction.

Bug: 64759853
Change-Id: I65ab7df0426f36fe1121bf055e38fc722822b0f4
2017-08-23 21:19:42 +00:00
Hyunyoung Song
d725f644b7 Remove LAUNCHER3_ALL_APPS_PULL_UP
Bug: 63712253
Verified: all apps transition fully functional
Verified: NO_ALL_APPS_ICON = false case also works.

Change-Id: I779fb7bd4927c5923da3f85590d912dbbbcdef4d
2017-08-21 11:59:14 -07:00
Mario Bertschler
ff4f201fad Use extracted color for scrim in overview mode.
Change-Id: Ia24dbf69a64cb0b84da9985a5dd78ca699e7bed1
2017-06-08 14:36:20 -07:00
Mario Bertschler
a693694502 Dark color on super light wallpaper support
Change-Id: I0fdfa9abefb72e06c45b1f635ac97e2acfa97f05
2017-06-07 15:25:07 -07:00
Jon Miranda
b8b48733a9 Remove background scrim when there are no top insets.
ie. In portrait multiwindow mode, the launcher is always on the
bottom so we can remove the background scrim that is meant to
protect the status bar contents.

Bug: 36397512
Change-Id: Ie9655b0604b5bebafdfb4153b370bb655129051c
2017-05-01 12:05:10 -07:00
Tony Wickham
343a77e609 Rename WidgetsAndMore to WidgetsBottomSheet
(It only contains widgets now.)

Bug: 35766387
Change-Id: I5864791a9741d1c56ac6df30125fe7a4a677b4bd
2017-04-17 11:44:41 -07: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
Jon Miranda
c6cf493b07 Add basic logs for tap outside action.
Change-Id: I6288610b9870c3abe88794c53309b1d76dd2780f
2017-02-07 17:14:28 -08:00
Sunny Goyal
dec3a908bf Updating the preview generation logic so that it aligns better with
the drag source image

> Using common code for pending item drag (WidgetContainerView and PinItemDragListener)
> Adding a shortcut-circuit in Workspace when a pendingItem can create a shortcut
  directly. Previously the multi-window drop was routing through onActivityResult which
  was causing some state information to be lost.

Bug: 33584624
Change-Id: I0259870032185713caa9bff27092dbae6ce91199
2017-01-27 15:09:10 -08:00
Sunny Goyal
b38fab7573 Adding support for drag and drop for requestPinItem.
On long pressing, the confirmation activity starts a system
drag-n-drop and focuses the launcher activity. We then drive
the launcher drag controller using the system drag event

Caveats:
> We use a transparent preview for system drag and drop and use
  a view inside launcher for actual preview. This gives us better
  control over various animations.
> The parameters for drag operation are passed to the Launcher
  activity using the intent. Since onNewIntent and onDragEvent
  come at different times and are not associated, a random uuid
  is used as mime-type to match the drag event with intent params
> If the workspace is locked (eg, loader is running) the drag
  operation is simply dropped. Will be imporved in follow up cls

Bug: 33584624
Change-Id: I0bb5b25b690f86b6af31a14e11beb669fcb3a281
2017-01-24 22:24:54 -08:00
Jon Miranda
c9c57631a9 Fix clipping of drag outline by increasing padding.
Low resolution will be addressed in future CL.

Bug: 31915722
Change-Id: I6bdd32b7a30819fde1f15473a63ac280029b6715
2016-12-20 10:08:42 -08:00
Sunny Goyal
f5440cbd6c Removing FeatureFlag.LAUNCHER3_LEGACY_WORKSPACE_DND and corresponding logic
Change-Id: Ie10c087b4f72ee27be5bf12e2c81be5b7a3a6176
2016-12-15 08:05:09 -08:00
Sunny Goyal
47564ca3a1 Merge "Simplifying mapCoordInSelfToDescendant" into ub-launcher3-master 2016-11-07 18:09:39 +00:00
Sunny Goyal
f5e3744637 Updating version check method names
Change-Id: If98851677545a9bbb9de308c23ff5c155a61a8bf
2016-11-02 10:31:41 -07:00
Sunny Goyal
5e0e94f0b2 Simplifying mapCoordInSelfToDescendant
> Removing new object creation (during draw and touch handling)
> Simplifying matrix operation to call invert only once at the end

Change-Id: Iffadd6e9d84997baa36719ed688a7c3c1027e839
2016-10-28 10:24:40 -07:00
Sunny Goyal
ed5d960ec1 Removing some bitmap drawables.
Loading the edge drawables only when legacy DND is enabled

Change-Id: I1c66d03146fb7fa7d61a4abf8c2e5a4289a117b9
2016-10-18 15:55:55 +01:00
Sunny Goyal
631ffbda64 Merge "Refactoring floating view opening/closing logic" into ub-launcher3-master 2016-10-10 21:00:10 +00:00
Sunny Goyal
740ac7f00e Refactoring floating view opening/closing logic
> Creating a base view for floating panels with some common methods
> Moving the getOpen method to individual classes
> Moving the folder icon animation logic to folder icon
> Moving all the logic related for opening folder to Folder class

Change-Id: I898dfb6870b857cb921d2729b89618bc43ff2e88
2016-10-10 13:36:03 -07:00
Sunny Goyal
08ca40f976 Refactoring AppWidgetResizeFrame
> Defining the layout in xml
> Simplifying the touch handling calculations

Change-Id: Iccfd82161d1e678d77ad6ff63f76e04ad905f9d8
2016-10-07 15:16:29 -07:00
Hyunyoung Song
0de011705b Code sanitization
- Removed bad method/class name typos

Change-Id: Ie6900e9e3d9ce9b550d2a2442a5dac3f7050a573
2016-10-06 10:57:29 -07:00
Tony Wickham
10236d6ac7 Update pre-drag lifecycle for apps with shortcuts.
- First of all, deferred drag has been renamed to pre-drag
  to avoid confusion with the existing deferred end drag.
- For normal drags, the cycle is still startDrag -->
  onDragStart --> onDrop --> onDropComplete --> onDragEnd.
- Pre-drags have two additional callbacks: onPreDragStart
  and onPreDragEnd. onPreDragStart is called between
  startDrag and onDragStart, and onPreDragEnd is called
  at the same time as onDragStart or onDragEnd.
- If the pre-drag has not transitioned to a full drag before
  onDragEnd, onDragStart and onDropComplete are skipped
  (onDrop is still called to allow the DragView to animate).

Change-Id: Icd7a8f75d5fcc159f9a52758c22ab6eae3edb9e2
2016-10-04 12:26:35 -07:00
Sunny Goyal
6ad72f02fd Resize only one widget at a time
> Removing logic to have multiple widgets in resize mode
> Making ResizeFrame a touch controller, so that it fits well with
other touch interaction in drag layer
> Chaning the method names in touch controller, so that it do not
overlaps with the default View methods

Change-Id: I85d4dbdfc82d078781adbce137dfaaea59c9c83d
2016-09-23 16:02:49 -07:00
Sunny Goyal
d139b0aa7d Adding support for multiwindow drag and drop
Change-Id: I95b46e3c3f1238307d3ef5a6c81a8e530ba0987a
2016-09-12 14:37:46 -07:00