1026 Commits

Author SHA1 Message Date
thiruram
6bf6848951 Introduces CONTAINER_WIDGETS_TRAY to LauncherSettings.Favorites.
This would log LAUNCHER_ITEM_DRAG_STARTED event when an item is dragged from widgets tray. This also fixes empty component with widget logs.

Sample Log: https://docs.google.com/document/d/1CBP2yTcXdFhPdNG5ZmWFKSgd8mDbMevY-akVlUXPLDo/edit#bookmark=id.bk5w3n8uwhcl

Bug: 152978018
Change-Id: I51d16edae13973d5e62adda0e4efa861fa10dc1b
2020-05-18 16:44:46 -07:00
Sunny Goyal
35e7d38681 Abstracting out state handler logic into base classes so that it can
also be used in different activity

Change-Id: Ic5e60b21e1429c71f1cd4e7041e70bf4fc9761b7
2020-05-11 16:38:26 -07:00
Adam Cohen
c77bc45fa5 Fix issues with drag and drop from All Apps in non-default grids
=> Also fix the widget tray in these non-default grids, and the external shortcut addition flow. The layout was broken as it was scaling with the icon size. Instead keep it fixed which looks much better, similar to how we maintain all apps.
=> This also fixes a small jump when dragging shortcuts external to Launcher.

issue 154169001

Change-Id: Iad1e3859dd6fedccce9b5c6633e64426a4630c31
2020-05-08 16:00:08 -07:00
thiruram
5a01f0ec51 Implements LAUNCHER_ITEM_DROP_FOLDER_CREATED event.
When item is dropped on a existing item resulting in new folder creation, triggers LAUNCHER_ITEM_DROP_FOLDER_CREATED event with details of the destination package.
This change also introduces new FolderIcon item to launcher_atom.proto to represent folder icon.

Screencast and sample logs: https://docs.google.com/document/d/1CBP2yTcXdFhPdNG5ZmWFKSgd8mDbMevY-akVlUXPLDo/edit#bookmark=id.tmbucd1f44qp

Bug: 152978018

Change-Id: Ib4d343ba9075aa8853652f128457c4638541ec59
2020-05-06 17:24:09 -07:00
thiruram
59c5f399a6 Duplicating InstanceId and InstanceIdSequence classes from framework internal package to launcher3.
com.android.internal.logging package is not directly accessible from launcher codebase hence making a duplicate classes until they are moved to common package.

Change-Id: I7c8a9bd89a322fc330b58460e6468ccff933ea44
2020-05-05 21:06:58 +00:00
thiruram
740e2ab12e Implements LAUNCHER_ITEM_DROP_COMPLETED event.
Assigns InstanceId to match LAUNCHER_ITEM_DROP_COMPLETED, LAUNCHER_ITEM_DRAG_STARTED events.

Sample Log:
2020-05-01 14:07:53.158 18369-18369/com.google.android.apps.nexuslauncher D/StatsLogManager: LAUNCHER_ITEM_DRAG_STARTED(InstanceId:282)
    # com.android.launcher3.logger.LauncherAtom$ItemInfo@c0711fbd
    application {
      component_name: "com.google.android.apps.maps/com.google.android.maps.MapsActivity"
      package_name: "com.google.android.apps.maps"
    }
    container_info {
      workspace {
        grid_x: 2
        grid_y: 1
        page_index: 0
      }
    }
    is_work: false
2020-05-01 14:07:54.308 18369-18369/com.google.android.apps.nexuslauncher D/StatsLogManager: LAUNCHER_ITEM_DROP_COMPLETED(InstanceId:282)
    # com.android.launcher3.logger.LauncherAtom$ItemInfo@90000206
    application {
      component_name: "com.google.android.apps.maps/com.google.android.maps.MapsActivity"
      package_name: "com.google.android.apps.maps"
    }
    container_info {
      workspace {
        grid_x: 0
        grid_y: 4
        page_index: 0
      }
    }
    is_work: false

Bug: 152978018

Change-Id: Ib4fc860e8080edd407ed15b93f7d55ac31328d11
2020-05-04 18:00:07 -07:00
thiruram
f81e8b002a Implement LAUNCHER_ITEM_DRAG_STARTED event.
* Fixes null component issue when ItemInfo object copiedFrom.
* Fixes missing container when item is dragged from hybrid hotseat.

Sample Logs:
2020-04-30 14:09:45.499 30472-30472/com.google.android.apps.nexuslauncher D/StatsLogManager: LAUNCHER_ITEM_DRAG_STARTED
    # com.android.launcher3.logger.LauncherAtom$ItemInfo@260f31f8
    application {
      component_name: "com.android.chrome/com.google.android.apps.chrome.Main"
      package_name: "com.android.chrome"
    }
    container_info {
      workspace {
        grid_x: 2
        grid_y: 2
        page_index: 2
      }
    }
    is_work: false

2020-04-30 14:23:15.230 31320-31320/com.google.android.apps.nexuslauncher D/StatsLogManager: LAUNCHER_ITEM_DRAG_STARTED
    # com.android.launcher3.logger.LauncherAtom$ItemInfo@608f101
    application {
      component_name: "com.google.android.gm/.ConversationListActivityGmail"
      package_name: "com.google.android.gm"
    }
    container_info {
      hotseat {
        index: 1
      }
    }
    is_work: false

Bug: 152978018

Change-Id: I3d3ce213fd2fc6eb5ffb239e048ceb7c0fa88b53
2020-04-30 15:03:43 -07:00
Sunny Goyal
8f96546e79 Generalizing LauncherState definition so that it can be used in RecentsActivity
> Removing 'Launcher' as parameter from state methods called by StateManager
> Converting state properties to methods for easier abstraction
> Moving state handling drom state definition to activity class

Change-Id: I997627df606a7e0bb3bf32688d045a942a47fc94
2020-04-30 01:01:51 -07:00
Sunny Goyal
e396abf502 Moving model data structures to a separate file
Change-Id: I77ad7a5219e72d2e0d6c1803de2ac3ed6a65a8f7
2020-04-09 13:20:39 -07:00
Sunny Goyal
5626583228 Fixing insets not getting applied to workspace
Change-Id: I7512849efd91d4aa2b9da6aba0602c65422c606d
2020-04-06 18:21:02 -07:00
TreeHugger Robot
839d0d712c Merge changes from topic "all-apps-arrow" into ub-launcher3-master
* changes:
  Add all apps education bounce animation
  Update vertical drag handle (all apps arrow)
2020-04-06 20:09:45 +00:00
Tony Wickham
490a8ab7c7 Add all apps education bounce animation
- Update existing arrow bounce animation to repeat 3 times,
  and play it when swiping up from nav bar on first home
  screen as well as when tapping the arrow.

Bug: 151768994
Change-Id: Ib120764fdeab6cd932018b6fed8b1093dda20641
2020-04-06 11:28:50 -07:00
Sunny Goyal
c4d3201538 Removing support for fake landscape
Bug: 111068105
Change-Id: If31d2f700ddee1d21541735de3a8006ee2a53c5c
2020-04-03 17:11:35 -07:00
Hyunyoung Song
7ac0ef1cb1 ItemInfo supports lite proto builder (1/n)
Bug: 144953948
Bug: 137777105

The new lite proto builder is used to send two types of logging to statsd
1) Snapshot logging
2) App launch, task launch, task dismiss

Statsd will be connected once platform CL is submitted

Change-Id: If606cee5288fe4bd6c522605ae84eb0f24174f5b
2020-03-31 20:52:36 -07:00
Sunny Goyal
3e94faa5de Merge "Removing animation when stripping empty pages, as the animation is run by LayoutAnimation already" into ub-launcher3-master 2020-03-25 22:06:40 +00:00
Sunny Goyal
deb91c46eb Decoupling some dragController methods
Change-Id: I7c4ab5f1504c49eaa0566afe643d7672faa80205
2020-03-24 17:27:58 -07:00
Sunny Goyal
6e379fc784 Removing animation when stripping empty pages, as the animation is
run by LayoutAnimation already

Bug: 151978739
Change-Id: I75b9055c3e862a6813164cce6c1ba7b2fe1f870a
2020-03-23 01:50:55 -07:00
Adam Cohen
f946e0a5ee Merge "Refactor / Cleanup / Simplify a bunch of dnd related rendering / animation" into ub-launcher3-master 2020-03-21 01:27:08 +00:00
Adam Cohen
650869973a Refactor / Cleanup / Simplify a bunch of dnd related rendering / animation
Addresses:
=> Fix folder icon drop location mapping (was very far off)
=> Fix BubbleTextView drop animation shifted by a few pixels
=> Get rid multiple unnecessary calls to setDragMode(none), was breaking
   some of the reorder flow; still some issues to address here.
=> Fix folder icon parallax (didn't work when the folder had a dot)

Test: manual

Change-Id: I5959cf341996f75d30212353ec096ed25bf40ea5
2020-03-21 01:26:09 +00:00
Sunny Goyal
9b18010990 Decoupling some drag and drop code handling
> Removing some special checks around accessibility drag
> Unifying folder alarm code path for accessible and normal DnD
> Maintaining mDragStartTime inside the dragDriver instead of the callers
> Simplifying some accessibility callbacks

Future cl will create a Accessibility DragDriver and unify it with
other DnD flow

Change-Id: I1919ef218de0174678110f271b450bcb9aaf4a5c
2020-03-18 12:41:42 -07:00
Sunny Goyal
f3ac703256 Moving animation config so a separate class
Using PendingAnimation for animation builder.
This will allow us to easily add SpringAnimation to stateAnimation

Change-Id: I8d88489a5da6fc85747ef9be7c13858b441cd28a
2020-03-16 19:36:36 -07:00
Samuel Fufa
a579ddc9c8 Refactor logging to capture Target hierarchy
Instead of creating a fixed number of targets, we now pass an ArrayList
of targets to. Any class implementing
LogContainerProviders#fillInLogContainerData can setup it's own target
and add it to the ArrayList, It can also pass the ArrayList to other
LogContainerProvider to capture full Target hierarchy.

Bug: 147305863
Change-Id: I0063c692120fb9e1cff2d8902c5da972d0623418
2020-03-06 13:49:19 -08:00
Vinit Nayak
a406f727ad Add vertical layout support for Overview in portrait
WM is making changes which allows apps to maintain
their orientation independent of the orientation of
the foreground app. This allows recents to always start
in portrait even when the app currently running is in
landscape. This means we have to give the illusion of
a landscape oriented overview when user swipes up in
gesterual nav when launcher is started in portrait
configuration.

PagedOrientationHandler abstracts all coordinate specific
logic from Paged/RecentsView primarily, but also all
other dynamic calculations throughout launcher.
PagedViewOrientationState is the single point of exposure
to other classes that depend on those changes. The goal
is to also minimize holding state to allow for default
implementations of PagedOrientationHandler for all the
3p/Fallback classes. PagedViewOrientationState also
holds other data around rotation that isn't
specifically tied to view logic.

The fake landscape overview can be toggled with:
adb shell settings put global forced_rotation [0/1]

Fixes: 146176182
Change-Id: I65d8d4e9f92b93931cbe0053ccaf0cda8d2ffd6c
2020-03-02 18:02:35 -08:00
Zak Cohen
3eeb41de9a Rename flag IS_DOGFOOD to IS_STUDIO.
The flag is only set when building from Android Studio... and is never
used for dogfood.

Test: local
Change-Id: I898d585f4558c2437f0152ef102bea59c351f80b
2020-02-14 14:19:59 -08:00
Samuel Fufa
28c3e4553a Sync prediction client and folders
- Notifies prediction client when a folder is converted into workspace
item as a result of losing all items but one.
- Notifies predction client when a folder is created from an item in the
workspace with no duplicates.

Bug: 148749638
Test: Manual
Change-Id: Ifd51a6fe2a40c8baf4d88e2dba1e5bdc925e1608
2020-02-08 16:19:53 -08:00
TreeHugger Robot
61d639d756 Merge "Make LauncherState transitionDuration overridable at runtime" into ub-launcher3-master 2020-02-06 20:01:49 +00:00
Tony Wickham
c7203ad541 Make LauncherState transitionDuration overridable at runtime
This follows the pattern of most of the other state properties, and
allows us, for example, to extend the overview transition in 0-button
mode, but keep it shorter for other modes that don't travel as far.

Bug: 143361609
Change-Id: Ibf8142bf3f57bb73be826adb6f4a32c136ff56dc
2020-02-05 11:16:58 -08:00
Samuel Fufa
746d420f76 Notify predictor on appIcon convert to folder
Bug:148749638
Test:Manual
Change-Id: I7eed1f309197479f708a23029c04106af0ac536f
2020-02-03 15:42:43 -08:00
Hyunyoung Song
1ae42423ca Load folder names during LoaderTask
Bug: 147359653

Change-Id: I4d1b53c3a72d0773d4bc8819ee8118fc719944ad
2020-01-28 22:06:05 -08:00
TreeHugger Robot
0618d689e8 Merge changes from topic "state-supplier" into ub-launcher3-master
* changes:
  Translate recents slightly while dragging after pausing
  Two-zone model: swipe up from nav bar vs above it
  Change LauncherState to Supplier<LauncherState> in tests
2020-01-29 03:06:04 +00:00
Tony Wickham
4fdba14cfb Two-zone model: swipe up from nav bar vs above it
When ENABLE_OVERVIEW_ACTIONS flag is enabled, swiping up from the nav
bar goes to overview if you hold, or the first home screen if you don't.

- Added NoButtonNavBarToOverviewTouchController, which extends
  FlingAndHoldTouchController but only works if you start from the nav
  bar. Otherwise it falls back to PortraitStatesTouchController to
  handle normal state transition to all apps.
- Added HintState. This is where the workspace/hotseat/qsb scale down
  when you swipe up from the nav bar, to hint that you're about to
  either go to overview or the first home screen.
  - Added getQsbScaleAndTranslation() to allow Overview and Hint states
    to treat it as part of the hotseat.
  - Since Overview needs to show above the QSB as it's animating, bring
    Overview to the front and update OverviewScrim to handle the case
    where there's no view above Overview to draw the scrim beneath.
- ENABLE_OVERVIEW_ACTIONS is always false in 2-button mode, since the
  shelf is crucial to that mode.

Bug: 143361609
Change-Id: I743481bb239dc77f7024dc98ba68a43534da2637
2020-01-28 18:31:10 -08:00
Sunny Goyal
09b03c55df Optimizing some slow calls on the main thread
Change-Id: I4eed5f7e5bf1316556d6985a610918fc709a7471
2020-01-28 22:18:14 +00:00
Andy Wickham
ff13792b83 Adds Launcher flag to enable Universal Smartspace.
Test: Used the flag
Bug: 141701658
Change-Id: Id06016e313b05ae70b693c39e2e1cde2576cfbb1
2020-01-17 23:03:03 +00:00
Tracy Zhou
4d7b244f3f Render user's actual workspace in ThemePicker preview (Part 2)
With this change, we can also render folders in preview. It's built on top of part 1.

Test: Go to grid options, choose a different grid option, and see user's workspace rendered in the preview
Bug: 144052839
Change-Id: Iaf6d8af6b909ece4147ea250d95dec3d2c0019d3
2020-01-08 15:42:58 -08:00
vadimt
675c877765 Removing tracing for a fixed flake
Presumably, the flake was fixed when I added waiting for model load
before the test body starts.

Bug: 138729456
Change-Id: Ie921ebd40e42a7d73884c19949ca5f0129afc96e
2020-01-06 18:35:37 -08:00
Sunny Goyal
337c81f664 Removing static instances of UserManagerCompat and AppWidgetManager
> Changing the lifecycle to follow other static objects in Launcher
> Removing compat interface and inlining everything to helpers

Bug: 141376165
Change-Id: I82bd5db1969101de9a7eac77f32728d70195bb35
2019-12-11 10:03:19 -08:00
Samuel Fufa
3a39a25d1c Ignore predicted items when items are drag over them
Bug:145565886
Test:Manual
Change-Id: I727975234d36ef2cba0d58ba1df6886e09157ce6
2019-12-04 12:13:46 -08:00
Samuel Fufa
ddab25da6b Merge "Enable a11y scrolling with item drag" into ub-launcher3-qt-future-dev
am: 574e8413ba

Change-Id: I37c71d6f55d2478d029a9509ca61d32599582442
2019-11-14 14:04:35 -08:00
Samuel Fufa
8fb487413c Enable a11y scrolling with item drag
Bug:142300278
Test:Manual
Change-Id: Ieb79dac8a793f5adfe715b1cbe5b7ecae95a26b5
2019-11-13 13:22:49 -08:00
vadimt
5631b4a7ef Removing tracing for a fixed bug
Bug: 141770616
Change-Id: I52ec681eca20733021090fe50058bc7d3f996ade
2019-10-28 16:59:45 -07:00
vadimt
4d342406a2 Merge "Adding debug tracing for a flake" into ub-launcher3-qt-qpr1-dev am: 1a02173321
am: 10b1414778

Change-Id: I4e56e1f19f1eb3d48eb93978d0e544d7a26efc1d
2019-09-28 01:14:54 -07:00
vadimt
10b1414778 Merge "Adding debug tracing for a flake" into ub-launcher3-qt-qpr1-dev
am: 1a02173321

Change-Id: Id1feb3f64191475472bdfceac309b6e26869a1e6
2019-09-28 01:07:55 -07:00
vadimt
3895d9b642 Adding debug tracing for a flake
Bug: 141770616
Change-Id: I6413ca6ce380eede817ae2418d5a1bc04c091270
2019-09-27 17:55:48 -07:00
Samuel Fufa
0659400dcb Merge "Drag and drop preview size for BubbleTextView" into ub-launcher3-qt-future-dev
am: ecee887d1a

Change-Id: I546cfa34058c3dff49ebef4ddc24c0fb8ef0d77d
2019-09-26 12:49:21 -07:00
Samuel Fufa
45812a9ed6 Drag and drop preview size for BubbleTextView
Test:Manual
Bug:141260670,141263002
Change-Id: If08dba28cce3ae07bb39ddad3743dd5eea92cb90
2019-09-26 12:21:45 -07:00
Pinyao Ting
30414c5699 Merge changes from topic "a11y-minus-one" into ub-launcher3-qt-future-dev
am: ff4977d42d

Change-Id: I5c565a2d67274240dcd06e41ad03564526d486ce
2019-09-24 14:58:53 -07:00
Pinyao Ting
af6daa2873 Revert "Revert "support scroll backward to minus one screen via voice/switch access""
This reverts commit 3ad4ace203.

Reason for revert: roll forward and bugfixes

Change-Id: Icd56cdeddb3baf9819700cc567c04af0905825ef
2019-09-23 12:56:11 -07:00
Pinyao Ting
f7e9b051b5 Merge "Revert "support scroll backward to minus one screen via voice/switch access"" into ub-launcher3-qt-future-dev
am: 4ca6449e39

Change-Id: Id11261547476ef4f43dfda5cbf63f1e30cae936f
2019-09-17 10:30:14 -07:00
Pinyao Ting
3ad4ace203 Revert "support scroll backward to minus one screen via voice/switch access"
This reverts commit d5af944f41.

Reason for revert: Test failure on master that might be related to this code change.

Change-Id: I269bf5b0a6505da291e1ff4ed181a851268d6ed8
2019-09-17 16:58:07 +00:00
Pinyao Ting
388a2122b1 Merge "support scroll backward to minus one screen via voice/switch access" into ub-launcher3-qt-future-dev
am: 6462a44935

Change-Id: I686c2204c4229a1027924bca11c048408ff80315
2019-09-16 20:51:13 -07:00