This CL substantially refactors folders to be able to take contents of type AppPairInfo. App pairs can now be moved in and out of folders, and launch from folders.
This CL contains only logic and model changes; animation and style changes (for dropping items into folders, color changes to app pair surfaces, etc.) will be in a following CL. Another CL (hopefully) will contain tests. I'm planning to submit them together, but this patch should also be able to stand alone with no issues (except janky transitions).
Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, more to follow in another CL.
Change-Id: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
- Have the animation happen according to the state of private space.
- Have the transition happen only once by setting the current transition to null at the end of transition and by ensuring
where the transitions are allowed.
- Removing controller class.
- The onClick controls the enablement of the profile. On reset (when getting the transition) is what controls the animation
during expand.
tldr- In the collapse case: execute() is called -> animation happens -> addPsHeader
tldr- Expand case: post() is called -> addPsHeader -> animation happens.
Collapse:
onClick() -> AACV.onAppsUpdated() that resets & apply/RUNS runnable because EXECUTE
-> AAList.onAppsUpdated() (which is called at the same time animating happens which we should cancel and do at end callback)
-> AAList.onAppsUpdated() gets called again
Expand:
onCLick() -> AACV.onAppsUpdated() that resets & apply runnable
-> AAList.onAppsUpdated() (no animation running)
-> AAList.onAppsUpdated() (no animation running)
-> addPrivateSpaceHeader
-> then unlockAction() runnable because its posted at this point
bug: 326206132
bug: 330444548
bug: 299294792
Test: manually locally and presubmit: https://screenshot.googleplex.com/9wavvwKQ8hY6oUw & https://screenshot.googleplex.com/BiqmidLFjPwS28j
video: https://drive.google.com/file/d/1XGhmTncdUFtJj188_l7alGyyNz_fhXNw/view?usp=sharing
Scrolling fix before: https://drive.google.com/file/d/1XykDm4UELoCvcwZdj8ZlJ6TszptB8W0W/view?usp=sharing
scrolling fix after when not a lot of apps: https://drive.google.com/file/d/1Y4VY1eX7WE8ShSLXRrT56ieBdAuJo_zn/view?usp=sharing
scrolling fix after with a lot of apps: https://drive.google.com/file/d/1Y58c-Z9xnU1GILp0Ih-oLORXYkMB-jWn/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation
Change-Id: I8d03ae60e2c9fe0ec145c4b0a2e9604b9e6e9017
This is causing accessibility bot issues for the switch access
feature.
Bug: 319369664
Flag: NA
Test: Verified via go/web-hv that this is no longer long-clickable.
Change-Id: I8a90d7093b60ddecdecc3374a34ce6828c1b7468
Picker rebinds recommendations when size constraints change or
fold/unfold, but recommendations from popup provider may have changed.
This is an attempt at trying to maintain currently shown items
as much possible.
Also, align the pagination and title to the top in two pane picker
(confirmed with David that we prefer this version)
Additionally, we don't show the widgets count for suggestions.
Bug: 318410881
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Test: Manual
Change-Id: I60799f9ad38da913c3e084d758f5b82c79cd641c
Agreed with UX that removing visible focus on first ESC keypress is the expected behaviour
So it is disabled in this CL to avoid the square corner focus state
Bug: 329892471
Test: Manual
Flag: N/A
Change-Id: I721bf0916374842c582b6b6523cc4cd5ce78fc02
This change introduces an "Add" button that appears when a widget
preview is clicked in the widget picker. This button disappears when the
preview is clicked again, or another preview is clicked. When the button
is pressed, it adds that widget to the picker. The add button is
available in the app-specific widget sheet as well.
Bug: 323886237
Test: Manual
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add DEVELOPMENT
Change-Id: I86a8a4c22119960c54a885fd2efeb91916b4f9a0
* changes:
Initial UI changes for displaying categorized suggestions.
Use full-width two picker in both orientations in tablets
Use derived padding instead of static 300dp for large portrait displays
Align items in the center within each table row within suggestions.
- Just opposite of how it will expand.
- RecyclerView.SmoothScroller is needed to scroll the container.
- Need to separate the lock button because this way I can use animateLayout changes and it itself was its own drawable. Separated into icon and textView in a viewGroup.
- Give the background the 10padding on the left and right so that when in animation, the icon can adjust the padding/margins there.
- Using propertySetter to set animation
- Animates the alpha of the settings alpha
- updated test to account for the nested child views the test needs to inspect
bug: 299294792
test: manual:
Expand + Collapse Video: https://drive.google.com/file/d/1Og66eqmXv3THn0wO4_x6Tfp2AbwFWUwZ/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation TEAMFOOD
Change-Id: I96f1d172a481522d23b4cee996ddec65961fce78
Ordering changes and some more UI changes in follow-up.
Bug: 318410881
Test: See screenshots
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Change-Id: I77e7f4dcdda32e2921ae56721cddbe261832f0d8
This will let users know that content appeared on right when they
selected an option on left.
Note: This is announced _only_ when content changes.
Bug: 324073588
Test: Manual with talkback
Flag: N/A
Change-Id: Icec3242d8f250f6d19e082a39927165c7b8fc86a
Here we:
-Move no widgets text outside of the right pane so that we can center it
-setInset and change the clipping of children in the views so that we can fix the padding at the bottom when we have 3 button nav
-create selectedHeader where we keep track of the currently selected header in order to refresh the widgets for the selected header on rotation
-when widgets are bound we check if there are no recommended widgets, and if there aren't we select the first visible header
Fix: 324002996
Fix: 324001940
Fix: 323417968
Fix: 323460545
Fix: 323409306
Test: WidgetPickerImageTest
Flag: NONE
Change-Id: Ibd85cb086bb6c2aede6cf79da0c688a1fdaec4e5
In a single pane picker, apps list is expandable / collapsable, but,
its not applicable for 2-pane variant. in 2-pane one, it should just
say "double tap to activate".
Also opened b/324073588 to make it clear from a11y perspective that it
is two pane and on click, right pane change should be announced.
(just like it does in settings with talkback).
see screencast/cast/NTQ1Mjk0MjIzOTg1ODY4OHw4OTc5ZjAzNS0wOQ
Bug: 319195592
Flag: None
Test: WidgetsListHeaderAccessibilityTest & manual.
Change-Id: I9ae3fbacc29364bd7459f6e6d85e0a1e919de3f8
Looks like ag/25865281 updated widgets_two_pane_sheet_recyclerview.xml
but not widgets_two_pane_sheet_paged_view So, with work profile where
widgets_two_pane_sheet_paged_view is used, it's crashing.
See https://b.corp.google.com/issues/322681099#comment9 for recording
Fix: 322681099
Test: Verify picker loads & scrolls with / without work profile.
Flag: NONE
Change-Id: If7969a70e1079ffff58ffbd0a90cbec34c6da2de
There are test failures when using ConstraintLayout without a known solution, see https://chat.google.com/room/AAAACwktJi8/2OogGWfbLvI. Switching back to a relativelayout to resolve those issues.
Bug: 301918659
Test: WidgetPickerImageTest
Flag: ACONFIG com.android.launcher3.enable_unfolded_two_pane_picker DEVELOPMENT
Change-Id: I004c2d77ca308d85b29217d4f1e548067126556f
[App Pairs 7/?]
This patch implements the app pair launch animation from icon. Adds a new function, composeFadeInSplitLaunchAnimator(), in SplitAnimationController, that builds the combined launcher + shell animation.
Bug: 309618233
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Test: Manual
Change-Id: I8e95f629ae2a71f1bd6cbb356f5e33233e5c2906
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
> Removing multiple fragments
> Exposing support to select preference root
> Adding support for recreating preferences
> Moving Developer options to same fragment
Bug: 305084752
Flag: N/A
Test: Manual
Change-Id: I499be1938ef8ed58cbc7f9b0f4ad3510d4b306c8
Width of text given by UX is 214dp so we can set the maxWidth and ellipsize at the end.
Bug: 298447370
Test: Manual photo: https://screenshot.googleplex.com/98Jnuh3TmLCtd24
Flag: n/a
Change-Id: I750a1669f94f22f60f4fb22db7d6b0ed7678c506