Add a new screen ID for the second extra empty page
and add that new screen as well when the existing
extra empty page is added so that users can put items
on both sides of Workspace.
Test: manual
Bug: 196376162
Change-Id: I0b4f2e818407a10d8a7c032788a7bd7a61267779
- Don't remove a single page if it's empty, only if both pages are empty.
- Add back empty pages after they were removed while the phone
was on single panel home.
- On two panel home don't add new workspace items onto the second screen
Test: manual
Bug: 196376162
Change-Id: I4c54ffa3b359a236deb3ab67adb54111e77ec896
When adding a new page to the workspace, mWorkspaceScreens doesn't
necessarily keeps the order. We should use the mScreenOrder field to get
the correct index of pages.
Fixes: 197198491
Test: drag an app from first page and paddings should be correct
Change-Id: I4f79c164391348b53b71a87d5d49cfc4d3d35e5a
- Remove all usage of LEFT_PANEL_ID and fixed left panel code
- For preview renderer, load screen 0 + screen 1 instead
- Added a split display specific default workspace layout, with a placeholder app to pass test before we implement page pairing(b/196376162)
- Known issue: If screenId 1 is deleted, right panel will disappear from Wallpaepr & Style because there is no screenId 1. Will be resovled after page pairing(b/196376162)
Bug: 175939730
Test: manual and TaplTestsLauncher3#testWorkSpace
Change-Id: Icac1c94165c14a49c17897c45355b6cdc4d87e91
- fix the crash when an item was moved onto the right panel
- fix the issue that prevented the user from moving an item from the left panel
Test: manual
Bug: 194903736
Change-Id: Ib41f5d6d08e8815a52631ef952d32dcf899455e2
> Calulating correct location irrespective of transient
state (scale/translation)
> Removing extraction pause/resume logic
> Simplifying location calculation and registration (only use one location instead of a list)
Bug: 194732483
Test: Manual
Change-Id: I255d83761bff5e09c9fb0a5e398d0be0c1d0956f
This fixes 2 things:
- adding the correct space between pages as insets (eg camera) were
being discarded
- adding the space between pages instead of between panels as was before
This solution should work with more panels and don't create problems for
phones, where panels = 1.
Fixes 193194192
Test: manual testing in unfolded state in portrait and landscape, both
rotations
Change-Id: Ia3b148ceb773c6d5b6f8848ced07d7f9c1459e92
This allows taskbar to be loaded even in case of 3P Launchers
and removes dependency on LauncherActivity lifecycle
Bug: 187353581
Bug: 188788621
Test: Manual
Change-Id: I5a0988e0697b41677d4c58f0213aef14ec0c0972
Disable color extraction on drop until the workspace is back to its
normal size, then re-enable it and force re-coloring. This needs to
happen if the drop is on the workspace, but also if the drop is on the
secondary target.
Fix: 192354264
Test: Manual, see bug for details.
Change-Id: I79203f68843d59384503aa76f4813d886e98afa3
Merged-In: If573641e4bb5a98ed6b5008e00f70f4bbe492c24
onDrop isn't called if the drag is canceled at Launcher.onPause. Let's
also reattach LauncherAppWidgetHostView to its parent in this case.
Test: long press and hold a widget and, at the same time, press the
power button. Don't let go of the long press and press the power
button. No crash observed.
Fix: 190950646
Change-Id: Id52a51291863b7ef63c861eb6dc23b015484be65
Test: Long press a widget and then release when the resize frame is
shown. Then, click the content of the widget to launch the
widget's activity. Go back to home screen and then immediately
long press the same widget again. No crash was observed.
Bug: 189814379
Change-Id: I4232ecf9d9d9efaba817b7777314f0814bb7ef21
When this bug occurs, the resize frame coordinate is incorrect because
the launcher state animation has not finished when the drag view
finishes animating back to its original position.
Test: Quickly long press and release a widget from the home screen.
Observe the resize frame is correctly shown around the widget.
Bug: 186370472
Change-Id: I6bfba2e85e3354a215c26203dd22df13db3b8b83
The bug occurred when there are two widgets in a CellLayout. When
dragging one of the widget, ShortcutAndWidgetContainer#getChildCount
returns 1 rather than 2 because the LauncherAppWidgetHostView of the
widget in drag has been detached from its parent and reattached to
DragView (introduced in ag/14234627).
Test: Place only two widgets on the last page of the home screen. Drag
one widget. The new page indicator on the right is shown.
Bug: 188494523
Change-Id: I8255dd1b72ad7f18f4cb35a9e14ac8e61804980c
There's a logic which prioritizes the binding for the
current page and defers the other pages' binding.
If two panel home is enabled, we want to bind both pages
together. LauncherPageRestoreHelper has been created to
contain the logic for persisting restoring and calculating
which pages to load immediately.
Test: manual + run LauncherPageRestoreHelperTest robo test
Bug: 174464691
Change-Id: I57ac3f7150303b95b272e922f44bda26f9d5ce2a
- Tweak iteration for finding first match, go by operator priority and
check each cell layout by order to return the first view that matches
- Also reset the launch cookie in cases where we're launching a task
that doesn't support cookies (ie. via prediction), otherwise we may
still try to associate it with the last launched cookie later
Fixes: 187720286
Test: Swipe up from various icon types across hotseat/workspace
Change-Id: I71c4c13c442b0884b2247589685f976eaaeb30a4
Signed-off-by: Winson Chung <winsonc@google.com>
- The system overscroller seems to take a long time to settle even
after the final position has been reached, so if that has already
happened and there is no edge effect, then just end the scroller.
- Remove unused code related to SmoothPageView
Bug: 184983443
Test: Quickswitch and ensure we finish the recents animation after it settles
Change-Id: I9fa72ddd6b6e0d38b6f622c776a2ac5f5b055760
> Simulating the windo wmanager API to get available device
profiles until final API
> When a device has multiple internal displays, and with both
tablet and phone possibilities, it uses a split workspace layout
Bug: 186160341
Bug: 175782275
Test: Manual
Change-Id: Ieff2329acac7cdd6b9abe6f96cd459cd45bd0efe