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
import various resources from tips gesture tutorial
Bug: 146173041
Test: build and verify it passes
Change-Id: Iacea7ba1f2d15452e7442f2976633da7012fab35
Adds ENABLE_OVERVIEW_ACTIONS feature flag and base factory. Requires an
implementation in overlay to show any actions.
Test: run locally with flag on and off.
Bug: 145628186
Change-Id: I1c36330464cc01e1e987ebfea1a9f451067598a5
> Recycling DigitalWellBeingToast so that the view is not inflated everytime
> Simplifying DigitalWellBeingToast to use a single text view
> Adding support for footers in taskView without creating additional layout
Bug: 122345781
Change-Id: Ia889819b93eb8644532ea95c6767554874d5e2d1
When the container was present, but empty, it was showing it's background.
Bug: 133783088
Change-Id: I97b65435d66e9ced7f5487dc50a00665794f8fcd
Tested: manual
This ensures that they do not fight for the space. This is intended to
be iterated upon as we find solutions to some of the technical
challenges in the current POR.
Change-Id: I831e8797b16f28fe2cd742c96e9b7c916abf77a5
This replaces all other chips containers and causes minimal
layout overhead: It is strictly within the task itself and
causes zero jank or space issues.
Screenshots:
https://drive.google.com/corp/drive/folders/1-3ZNCJtWc9_cgmP1nNd8U1yvpCr6GGoq
Test: manual
Change-Id: I5e22a34c4dc1ac3e73c4d5c913befc2360cb388e
Now that we don't show DWB toast for negative remaining time
Bug: 127689526
Change-Id: I3ced3ec0da9bd7b09df9b66b4ef608e87339573f
(cherry picked from commit e921bacfb8)
Implement recents activity for Go for when the default launcher does not
have recents implemented. To do this, we factor out some common recents
activity functionality from RecentsActivity and extend it to make a Go
specific activity that pops in the icon recents fragment.
Bug: 114136250
Test: Manual test NexusLauncher and Launcher3QuickstepGo by installing a
quickstep-less launcher and setting it to default
Change-Id: I936568489e8966da4a62e4b779ae660a220f2aeb
Split out overview_panel from recents and override it with IconRecents
version to replace the recents view entirely.
Currently, on the IconRecents build variant, as expected, this hits a
class cast exception since many quickstep classes assume the overview
panel is an instance of RecentsView. All other variants build and push
fine.
Bug: 114136250
Test: Build + push NexusLauncherDebug, Launcher3Go,
Launcher3GoQuickstep, Launcher3GoQuickstepIconRecents
Change-Id: I3ac7331772e53ee81cb1735a709b4fb7b3bdb78c
No UX spec is ready, so using some placeholder layout.
No attention to string localization since I feel that strings may
change, compared to current mocks.
Not using remaining-time API, as it is not ready.
Bug:118319143
Test: Manual
Change-Id: I50cff9099677db543e95963f058d3e89eab07d8f
Use scale listeners to track each other's icon scale to match them.
Test: go to recents and long press icon
Fixes: 110789415
Change-Id: I9bba3130ecf1d099db9708c84e709d16f5906c36
When tapping the icon for each card in overview, the options will
overlay on top of the task view below the icon instead of popping up
above the task view.
Change-Id: I42746022432385d976134988262514a238a5066e
Fixes: 109676098
Test: go to overview, tap the icon for the task
- Parent shouldn't clip scaled down child
- Remove outline provider from scaled down child so it doesn't clip
Bug: 80267476
Change-Id: I9feb1ccf2069b8c88d8499e2813c818f9aea19af
Keyboard navigation of AllAppsContainerView is broken in TOT; disabling
focusing there is necessary for Recents.
Bug: 72222505
Test: Manual
Change-Id: I85d544f7c8dbdaf12e49de51c6626bbc3dc32917
> Caret is only visible when the accessibility is enabled
> It is visible in NOTMAL and OVERVIEW state and moves out of the
scrim along with the scrim.
> Acts as an accessible target for various options
Bug: 78172350
Bug: 79215734
Change-Id: I8a968b67e36901859649546295f6491d49cc9ce9
> Converting the scrim to View, to better avoid overdraw
> Overview and Spring loaded state have different scrim alpha
> When going from overview to all-apps, there is a color scrim drawn over the overview panel.
The slef color is merged with this color to prevent overdraw, and the remaining screen is drawn
with a cut-out round rect path
Bug: 79111591
Change-Id: I26801fde13dd6adb4b06110bbe8087e35cc31847
This will break the initial focus assignment. This should be later fixed
in Talkback.
Bug: 72409756
Test: Talkback reads pane title, even though at a wrong moment.
Change-Id: I38458ef7c3b5745169d7bc17ce8751f683ba9c71
Making it visible to accessibility even when it’s completely hidden
behind a task. I had to mark it visible as a view. Now it’s invisible
only when there are no tasks in RecensView, to hide it from
accessibility.
Focusing on the button completely reveals it.
Bug: 72222505
Test: Manual
Change-Id: Ia31a1136e07faed93b4a44d5be69483d3b88364d
When in portrait mode with nav bar on the right , we need the right
inset to be applied to the layout.
Bug: 72222505
Test: Manual
Change-Id: I06ac864097fb3cfb833de3e40921be4e19eb5f54
It’s an initial implementation, i.e. no fancy effects.
It shares a parent (LauncherRecentsViewContainer) with RecentsView.
The button is centered in clear_all_button_container, which gets
positioned programmatically to the right of the last task. (RTL polish
will be a separate CL as well).
Bug: 72222505
Change-Id: Ia912908a93a30c2f51450ccf0f97c7495e7916d5
Test: Manual
The list is:
Close [task]
<items from the task’s popup menu>
Also making a current task in carousel get accessibility focus. This
prevents losing focus after closing a task, and makes sense generally.
Bug: 72409756
Test: Manual
Change-Id: I2cfdfd4693a255f63417d922cb6aa4841db1d3c3
> Wallpaper based theme support
> Light/dark system UI
> Swipe gestures to start and dismiss a task
> Fixing insets and task preview size
Bug: 75979063
Change-Id: Id402e6ac50551a7c0849742e3a0e77df3ead5aa2
> Removing hotseat from overview in transposed layout
> Removing face scrim from recents view in transposed layout
> Removing focued background from pagesView as individual poges have focus states
Change-Id: I620527241bf7240009c4187f53f5a5cff0c3e2b1
When you are in touch mode with Overview open, and press Tab or Alt+Tab,
it will be lost. This is because the upon pressing this key(s), app
gets switched to the keyboard mode. When this happens, the first
navigation ket gets ignored, and instead of navigation, we get focus
and highlight on the first focusable element.
The concept of the touch vs keyboard mode doesn’t fit well Overview
mode, hence the solution is to not let the recents activity to leave the
touch mode. We always keep RecentsView focused when visible. Android
honors the existing focus, and doesn't’ attempt transitioning from the
touch mode.
Bug: 73090995
Test: Manually fetch Overview, press Tab or Alt-Tab. Drag a task with
touch a bit, then press [Alt+] Tab. Repeat. Do the same with Overview
opened via Alt-Tab. Also: before, after and between, also check that Tab
keeps working on the workspace.
Change-Id: If6890ee80e08b03580051cceeac1be9a89ad3656
> Extracting common methods from Launcher & DragLauncher to base classes
> Remoting some dependencies on Launcher and using the base class instead
Change-Id: I121cacf8a14190b4703cda60bdeb4f79eee69ded
> Refactoring RecentsView to a common base class
> Moving some dependency form Launcher to BaseActivity
> Using the Recents view in RecentsActivity
Change-Id: Ie0e6741d356291e77420798c140c999121de3a0d
> 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
Swiping up for recents scales down workspace and hides it, similar to the transition
to all apps. Simultaneously, recents slides in from the side.
Also removed the setting for swiping to the first task, as it is required now.
Change-Id: Id0845db6650a37917a4faa9c8a434a2270913904
> Removing the widgets button from the card
> Making the height of the card same as that of the second card
> Using the same swipe rage for going between Normal and Overview state
Change-Id: Ib8bd050c52294bb01522fbcd0236f2221e6fe62d
We add a floating view for the menu that aligns with the task icon.
If available, the following shortcuts are present:
- Widgets
- App info
- Install (for instant apps)
It is designed to be straightforward to add to this list.
Bug: 70294936
Change-Id: I56c1098353d09fc564e0e92e59e4fcf692e486ba