Commit Graph

302 Commits

Author SHA1 Message Date
Sunny Goyal 786940ae93 Allowing Launcher to draw behind cutouts
> Launcher uses realSize, availableSize and insets to calculate
various layout values. Without drawing behind cutouts, these values
are not consistent (insets + availableSize != realSize) leading to
jumps in layouts.
> Removing fake black bars in low-ram devices to avoid inconsistent
insets.
> Fixing various layouts not taking lert/right insets into account.

Bug: 156268804
Change-Id: I8441db8a468b08a65b57b932050b5b4b37313966
2020-06-05 00:25:58 -07:00
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
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
Adam Cohen 1d13c0bf13 Cleanup reorder animations to not require layout on every frame
=> Extending on previous CL to separate multiple translation properties
   and avoiding expensive layout pass

Test: manual

Change-Id: I058da7367fb320b9f432bef9482be2966d3a7d42
2020-04-24 01:28:39 +00:00
TreeHugger Robot 3e54ddc010 Merge "Remove tracing for widgets scroll bug" into ub-launcher3-rvc-dev 2020-04-18 03:14:44 +00:00
vadimt 822efc9e82 Remove tracing for widgets scroll bug
Bug: 152354290
Change-Id: Iff56460f3f673f7089d647d08bb621c3965c7444
2020-04-17 19:04:41 -07:00
Adam Cohen d916206271 Decouple the scaling / translation of widget views necessary in split-screen
=> We pull apart the scale and translation that are set in a fairly
   static way due to split-screen vs. the general translation and scale
   properties that might be used more dynamically, in this case
   for re-order animations
=> This allows removal of some code that breaks reorder animations
   due to the accrual of translations / scales in certain edge cases.
=> TODO in future CL: address other translation cases and make the throw
   case for calling base setTranslationX/Y for Workspace Items unconditional

issue 149438360

test: manual
Change-Id: Ic3fde172f669e215cd25db0fcd4e1c3c873d314f
2020-04-17 15:36:44 -07:00
vadimt 31fa653ef3 Manually marking widgets recycler as non-scrollable of frozen
There was hope that freezing automatically marks it as non-scrollable,
but this happened to be not true.

Sending accessibility event per pweaver@'s instructions.

Bug: 152354290
Change-Id: Idd04c69cef9e8e621775ef86112f35e3d9d9d2da
2020-04-15 10:21:14 -07:00
Sunny Goyal e396abf502 Moving model data structures to a separate file
Change-Id: I77ad7a5219e72d2e0d6c1803de2ac3ed6a65a8f7
2020-04-09 13:20:39 -07:00
TreeHugger Robot 94c627cf5c Merge "Fix drag and drop regression when dragging a scaled widget" into ub-launcher3-rvc-dev 2020-04-09 19:06:10 +00:00
vadimt 38a6404a8f More tracking for get-widgets flake
Bug: 152354290
Change-Id: I2883d04c3db0cba6323b125d6c15ffc7aeb1e5b4
2020-04-09 11:06:28 -07:00
vadimt 9915a7c60f TAPL waits for widgets recycler to become scrollable
On the Launcher side, moving setLayoutFrozen from the posted action to
avoid a possible short scrollable period just after the view is shown.

Bug: 152354290
Change-Id: I7319236d8a6e49a7e017fd54d593ee131dff10a9
2020-04-08 18:56:52 -07:00
Adam Cohen 370164c4f7 Fix drag and drop regression when dragging a scaled widget
Missed this case in ag/10736229; the symptom was that if you picked up a widget when it was scaled due to split-screen, the widget would disappear

Test: manual

Change-Id: I26810fcf820f7053b6445989dce6598e1df55a8e
2020-04-08 18:00:35 -07:00
vadimt c61664988c Tracing for widgets sheet
Bug: 152354290
Change-Id: I956e7aa0a93cf4d57409f68a34a184dfdec984ca
2020-04-03 13:14:27 -07:00
vadimt 3d87a3397e More widgets tracing
Bug: 152354290
Change-Id: I16b35f080a989f810e6513342c016124d07a4d37
2020-04-02 18:35:37 -07:00
TreeHugger Robot 0ea0dab97e Merge "Fixing widget sheet not scrolled using external mouse" into ub-launcher3-master 2020-04-02 22:55:20 +00:00
vadimt 257589dd48 More tracing for widgets scroll bug
Bug: 152354290
Change-Id: I772d6faf4f96f423246b379169964de072174e50
2020-04-02 13:02:15 -07:00
TreeHugger Robot 7b4a1f5b3c Merge "Events checking for long press events" into ub-launcher3-master 2020-04-01 18:33:24 +00:00
vadimt e277fec466 Events checking for long press events
Also fixing duplicate long press events resulting from both framework
and Launcher own detection reporting long presses.

Change-Id: Ib46de5bd60850f1c5578992c8c1172ddbc0961f3
2020-03-31 19:08:17 -07:00
TreeHugger Robot 29f241c698 Merge "Tracing widgets page events propagation to catch flake" into ub-launcher3-master 2020-03-31 22:38:22 +00:00
vadimt 8e981a74c3 Tracing widgets page events propagation to catch flake
Bug: 152354290
Change-Id: Ia2c9e0ade8f2777e085381d10e8461f97e76de7d
2020-03-31 14:50:45 -07:00
Sunny Goyal 8b37c57804 Fixing widget sheet not scrolled using external mouse
> Fixing crash when some properties are not initialized if draw is not called
> Adding robolectic support for UI testing
> Adding robo tests to verify workspace, all-apps, widgets and folder scrolling

Bug: 147312357
Change-Id: Id7756e07f06396359e441cdff2e4f992bdcb97bb
2020-03-31 12:17:09 -07:00
Sunny Goyal 17feee8995 Merging stylus click logic in longpress helper for better state-management
Bug: 150825081
Change-Id: I7c507c41e67c09bff5a4ad3abc7a7a62fecf910e
2020-03-27 19:53:20 +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 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
TreeHugger Robot fe41c3af21 Merge "Allow Launcher to automatically restore widgets" into ub-launcher3-master 2020-03-04 00:16:09 +00:00
Samuel Fufa 9151c011b9 Allow Launcher to automatically restore widgets
This replaces PendingAppWidgetHostView with configured widget view when
OPTION_APPWIDGET_RESTORE_COMPLETED is set to True by a widget provider.

Bug: 63667276
Test: Manual
Change-Id: Ide21f5e9a7dac7e3d6a745660a38ad0b951b47d3
2020-03-03 15:35:48 -08:00
Tracy Zhou bd22546683 Render user's actual workspace in ThemePicker preview (Part 6)
Didn't test out widgets in Part 5. So in this change,
- Added some widget classes to the PreviewContext WHITELIST
- Manually update widget model after loading workspace since we do not attach widget listeners to the LauncherAppModel for preview.

Change-Id: I0a555b2319b2e91432dbd58289ddb66aca1384df
2020-03-02 00:44:55 -08:00
Samuel Fufa ccebfbe273 Clean up work profile
This includes
- Dismiss work edu on launcher state change
- Remove work tab flash on first setup
- Make edu bottom sheet adopt theme color
- Fix Work toggle bottom inset


Bug: 149200572
Bug: 149197172
Bug: 149199058
Bug: 149215103
Bug: 149198955
Bug: 145595763
Bug:149481723

Test: Manual
Change-Id: I39a30782b80fd3a66bede55754fa30a940d2caee
2020-02-19 19:33:09 +00:00
Sunny Goyal 9c2b96090b Adding SecondaryDisplayLauncher in Launcher using common listener
Bug: 141596722
Change-Id: I480bfadf592f7d0309f17c33a3fe14bb77fb5586
2020-01-30 08:27:27 +00:00
vadimt 2ea348ff87 Removing flake when 2 long-press events happened on single long press
There is some unknown to me logic in Launcher that sometimes duplicates
the long-press event . This causes flakes whenTAPL expects one long
press, but the actual sequence is 2 events.

That duplication logic seems to be related to race conditions is is hard
to repro. For now, just removing long-press verification. I'll start
with more deterministic events.

Bug: 147806932
Change-Id: I03841131bf8cae88011824f660f2c7b1906592f4
2020-01-16 17:10:55 -08:00
vadimt 252d012ed0 TAPL: Verifying some interactions with system
Investigation of TAPL failures, especially flakes is complex, partially
because it’s hard to tell whether it’s Launcher who is wrong or the
system.

We need to introduce a framework that looks at Launcher interaction with
the system and reports when interactions deviate from the expected
course, and who made the first wrong step.

This is first, proof-of-concept CL.

It analyzes long-press events. We had multiple cases when long-presses
didn’t happen or happened unexpectedly.

Launcher registers the events, TAPL retrieves and compares against the
sequence of expected regular expressions. This diagnostic is used when
something fails and at the end of public methods.

Change-Id: I07aa3a027267c03422c99c73ccd8808445c55fe8
2020-01-15 13:31:18 -08:00
vadimt 9f48a8ec3b Generating state-changed-to-home event for Widgets->Home transition
This event is required by TAPL is is not currently generated by
Launcher3.

Change-Id: Ibf38b6779cc8d0d6a62d415d07c874d00956435a
2019-12-11 17:24:59 -08:00
Sunny Goyal 73b5a27b14 Updating some non-final static objects
Updating various static objects to use a standard pattern so that
it is easier to track and cleanup those objects

Bug: 141376165
Change-Id: Ia539cbfa338d544dddad771c5027b6748762768b
2019-12-11 13:22:58 -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
Sunny Goyal 14168431bd Adding support for dynamic calendar and clock icons
Change-Id: Icdba34340a27a4f6dff7310d0bf9fd29aef1330c
2019-10-29 13:50:02 -07:00
Sunny Goyal 3808a69a6c Storing BitmapInfo instead of icon and color directly in itemInfo
This will allow subclassing BitmapInfo to support custom icon/dynamic
icons which can be loaded on the background thread instead of going
through IconFactory which runs on UiThread

Change-Id: Ieced6e91330bdff1b505826d097a8df711dfe967
2019-10-28 11:12:47 -07:00
TreeHugger Robot f31dab5e02 Merge "Removing static instance of LauncherAppsCompat and unnecessary wrapper classes" into ub-launcher3-master 2019-10-08 18:49:36 +00:00
Samuel Fufa 023188e424 Merge "Scale Icon badges for shortcut and widgets" into ub-launcher3-qt-future-dev
am: f2d486e5b0

Change-Id: I5c2c115b1ee42489d969ff30c48abf00d4a5a3f7
2019-10-07 18:56:02 -07:00
Samuel Fufa aa038af6b3 Scale Icon badges for shortcut and widgets
Test: Manual
Bug: 141262820
Change-Id: I03edc986e3fe1876b6b7ed179b96864d587cb137
2019-10-04 17:06:33 -07:00
Samuel Fufa 5e6741828f Merge "Decouple grid size and widget preview size in WidgetsRecyclerView" into ub-launcher3-qt-future-dev
am: e5865a03bb

Change-Id: I72ff45bd7080a7bb6ca4ab681423d6bd1da8a291
2019-10-04 16:45:48 -07:00
Samuel Fufa f1424a3b38 Decouple grid size and widget preview size in WidgetsRecyclerView
Test: Manual
Bug:142148773
Change-Id: I59aa29e95ddb7d6002a88cf853bae5fcf9811154
2019-10-04 15:15:58 -07:00
Sunny Goyal e7b00128c7 Removing static instance of LauncherAppsCompat and unnecessary wrapper classes
Bug: 141376165
Change-Id: I8c1f1ab7d83ec50fe9c7bf39960ef9c360025ec7
2019-10-02 16:20:22 -07:00
Pinyao Ting 7849482354 Include following chagnes to custom widget plugin
1. removed unsupported methods
2. auto-generate providerId
3. piggy-back context for the plugin to resolve resources

Bug: 139888225
Change-Id: If5014099eb80efd64025230037aae3d6079b69a0
2019-09-26 11:40:11 -07:00
Pinyao Ting 59e908b54f migrate custom widgets in comply with plugin framework
Bug: 139888225
Change-Id: I8a3d0fe2689ad5ba24b19309728bbad0b6287f71
Merged-In: I8a3d0fe2689ad5ba24b19309728bbad0b6287f71
(cherry picked from commit c7a6c2979c)
2019-09-25 15:58:41 -07:00
Samuel Fufa c04780c13f Merge "Don't persist invalid previews to cache" into ub-launcher3-master 2019-09-04 20:53:29 +00:00
Samuel Fufa 15357968db Don't persist invalid previews to cache
Test: Manual
Bug:137404499
Change-Id: I04a3a0e081fcb8de45601f028398670e7542ed22
2019-09-04 10:01:52 -07:00
Pinyao Ting c7a6c2979c migrate custom widgets in comply with plugin framework
Bug: 139888225
Change-Id: I8a3d0fe2689ad5ba24b19309728bbad0b6287f71
2019-08-30 12:06:22 -07:00
Sunny Goyal 6fe3eec95c Moving various common executors to a single location
Change-Id: I44bca49b8adb6fa22c3b48d10f674e42c28d792c
2019-08-20 14:36:17 -07:00