Fix: 341672022
Flag: EXEMPT Bug fix
Test: Manual. With Talkback on, open two apps in split screen and both with DWB enabled, go to Overview, access the Accessibility Menu > Actions.
Change-Id: Iff6adf8d549aa00ea42598cbfbdaf8c7a4164b29
- In NearestTouchFrame, we can't use view bounds alone since the buttons do not have the same root (3 buttons are in the main container, while the contextual buttons are in the contextual button container). This currently caused the issue that contextual button region, when the contextual buttons are invisible, triggers overview
- Need to add an empty space in the left / top area of the button nav to prevent view clicks from going into back (that's how it works in navigationbar/)
Bug: 25768138
Test: left and right of 3 buttons don't trigger back or overview
Change-Id: Idc26c0c8ac0ecc000300a6db2e3e6251f678dada
This CL adds the following:
* Static View Elements to be added to AllApps recycler View
* View Controller to load the above elements dynamically
* Private Space Section Decorator
* PrivateProfile Manager containing the logic related to Private Space
* Abstract UserProfileManager as the super class of Work/Private
ProfileManager
Private Space Views Figma
[link](https://www.figma.com/file/K6bIIcG882EiJNjxvSWsFT/V%E2%80%A2-Private-Space?type=design&node-id=14535-111985&mode=design&t=JLz9W0O551TpzQYH-0)
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space DEVELOPMENT
Bug: 289223923
Test: Ran Launcher3 tests
Change-Id: I8aa4247c78064a551e5e0d0b46d3fc033873f99d
There is a flake in the drag to dismiss bubble test, I think it's
because sometimes it misses the dismiss target since the test drags
the bubble to the bottom of the screen instead of the target location.
In attempt to fix this I'm setting an ID on the dismiss target to
look up where it is on screen and drag the bubble to it directly.
Test: treehugger
Bug: 296933279
Change-Id: I7949aa0131020651214e9ebaa834dda8fc25971a
This ensures that the background of the widget will not disappear after cancelling opening the widget activity.
Normally, when opening and closing the widget activity, the following procedures are executed:
tap on widget
-> opening animation initialized -> opening animation finished
-> close the activity
-> closing animation initialized -> closing animation finished
The steps above would work fine. However, a different set of procedures is followed if we try to cancel opening the widget activity:
tap on widget
-> opening animation initialized
-> opening animation started
-> swipe back before opening animation is completed
-> closing animation initialized
-> opening animation finished
-> closing animation started
-> closing animation finished
During the animation initialization process, FloatingWidgetBackgroundView would be initialized. It will then cache the original background and replace with a temporary drawable with alpha set to 0. The background is only restored at the end of the animation.
If two FloatingWidgetBackgroundView is initialized on the same app widget view before one of them is finished, the second floating view will treat the temporary drawable as the original background. At the end of the closing animation, the temporary drawable with an alpha value of 0 will be set for the app widget view, causing the background of the widget view to disappear.
This CL stores the original drawables into the background view so they could be retrieved during the initialization process of the floating background view.
Test: Manual
Fix: 259526083
Change-Id: Iefa29b22b690076a4fc3fc77fe6eea4b6316f852
The maximum center scale of All Apps to Home is 90%. It means we should add 5% height to All Apps's RecyclerView to render extra app icons.
Test: manual
bug: b/264906511
Change-Id: I2e970580810220e25d7fc3a86c19abaf87ba2c6e
Also using itemType instead of item object for widget size cache
Bug: 234008165
Test: Verified on device
Change-Id: Ia4b4a00a11627c0c454e4a699570e8ab1667a390
The folder bubble text views were being recycled after the launcher's
cache was cleared. This caused the new orientation's folders to re-use
the old views with their stale configuration. After this change, the
cache won't recycle views whose cache entry has been recreated,
implying that their environment might have changed and new setup is
required.
Bug: 230304658
Test: Verified erroneous UX on device was no longer reproducible after fix.
Change-Id: Ib01cf5792d83df752e05534e5aa08ab8e8763bdc
Cherry picked from commit 53db50dd0b2bd6ed1842b25396c9c52b7abe1157
after resolving conflicts
The CL adds two new buttons for desktop usage.
No listeners are registered yet.
Recall: http://recall/clips/f52b70ed-c437-4374-a492-e4b7c802520a
Bug: 198355239
Test: m, verify that new buttons are added
Change-Id: I1d4a12da3041e113a978c37c9e36ec085d15e8b3
* AccessibilityNode actions are required to have a
unique resourceId to show as an action in A11y dialog.
For now, only AppInfo option is shown for each app in split,
but moving forward we'll need to add resourceIDs for
each option that can show up for either app.
Fixes: 200609838
Test: Saw multiple options for App Info for each app
come up in talkback mode
Change-Id: I92b349347354ac639537021d775eea814c866a0e
Linking header position to an empty entry in the recyclerView,
instead of calculating the vertical scroll position. This
allows the header to be in sync with the recyclerView scroll and
item animations
Other simplifications:
> Moving top collapse handle out of header view (it doesn't scroll)
> Removing background clipping logic from full-sheet
> Moving tab bar inside the header view
Bug: 196464142
Test: Verified on device
Change-Id: Iae5a0ae9af7ce258e1b391b8e85c5c270fe56197
There are bugs in the accounting for the margins if we manipulate the
view directly, causing the wrong top to be reported and the view to be
shifted when we call scrollToPosition. Item decorations ensure that the
layout system for the recycler view always has the right details about
the spacing.
Fix: 191642682
Test: verified locally
Change-Id: Ie80563757079e885c8178883ab16e314d01c5b32
TL;DR;;
Missing view id for work profile recycler view
caused restore failure as there are different type of
views that contains same id. However, even after that fix,
lack of view id in slice views generated by other process
causes failure when mFlags on these not restored slice
views needs to be accessed.
Bug: 186596139
Test: manual
Change-Id: I8a97598c27acbc05ac8a39c50fe5862e541d62ad
-Have a recycler view layout for search widgets list.
-Make WidgetsFullSheet implement interface- SearchModeListener to get notified when user is using search and also when search results are ready.
-Have a WidgetsListSearchHeaderViewHolderBinder for search result headers which shows subtext in header as concatenated string of widget/shortcut labels.
-Modify WidgetsListAdapter and WidgetsDiffReporter to work well with search recycler view.
Test: Tested prototype locally. Also added robolectric test.
Bug: b/157286785
Change-Id: Ie29d9f295fddb6d727b5fc26a360f514f2f4a763