This handles cases that were previously ignored, such as dismissing
the IME with the back key/gesture.
Removed extraneous manual state updates that were used for specific
cases previously. The only remaining state updates are from our
controlled IME animation in KeyboardInsetsHandler, as that correctly
handles the case where you start closing the IME but end up keeping
it open (or vice versa).
Bug: 277738379
Fix: 320659754
Test: Manually go through various IME transitions on Launcher,
open and close apps, lock/unlock, etc to verify keyboard state
is correctly updated. And verify b/320659754 steps do not repro.
Flag: NA
Change-Id: I4787afbb37eed815b909a0215d8afeb3894ab985
The animation ReorderPreviewAnimation handles two animations, one when
the mode is MODE_HINT and the other MODE_PREVIEW. The animation is
basically the same but MODE_PREVIEW ocilates to finalDelta and back
to initDelta. MODE_HINT stays in finalDelta. When finish, we have to
go back to the initial position.
This behaviour is currently done using logic, making sure the view stays
in finalDelta no matter the value of the animation, the bug is in this
logic. I think is better to do this with the current animation API by
setting setRepeatCount to 0 on the HINT case and reverting the animation
when finish so it goes back to the initial position.
This seems to have been there for a long time, at least since the
creating of git_main, but it became more aparent now. In a follow up cl
I will move this class to it's own file and into kotlin to help if there
are issues here again.
Fix: 294473336
Test: manual testing
Flag: NA
Change-Id: I4ac5de3ce8a8170944a072c6ce41c65d0963a780
This is required in some cases, when we do not want
the Launcher (ProxyActivityStarter) Activity to come
in recents.
Bug: 320664417
Flag: ACONFIG com.android.launcher3.private_space_app_installer_button TEAMFOOD
Test: Manual build and flash.
Change-Id: I94d9dfab19f8a2410fa82adc0c0c22a3ac238a0b
This patch modifies PackageUpdatedTask.execute() to also remove app pairs when their member apps are uninstalled.
Fixes: 316050282
Test: Install App A, create an app pair containing App A, uninstall App A.
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I8487a2dfcfc6d29bd55e88003d1950078c6e2e31
Instead of opening the popup again when the status of AppSharing
changes, updating the UI in-place.
Bug: 321179015
Test: Presubmit
Flag: N/A
Change-Id: I6d7bd8cdf2014fd881324347e3e01b8e7e84ef1e
This change adds in a standalone edu window for the pinnable taskbar
feature. The reason for the change is to educate users about pinnable
taskbar to those who have already seen taskbar edu before.
Fixes: 302589411, 300161174
Test: Went through taskbar education taskbar with the flag on and off.
Check that the standalone pinning taskbar only shows up if previous
taskbar education was already completed.
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED
Change-Id: I03a5fb05ae5f15892421a57355f6d503de56d9fd
Widget size is deterministic based on device profile, so it can be
set during the loader itself. Any further changes are handled by
workspace
Bug: 318539160
Test: Verified inflated widgets have correct size
Flag: N/A
Change-Id: I84e803a5ccd49bcc6c2a19ab326f6bc1a3d9a5bd
Private profile shares Settings with the main user,
this change disable showing "Install to private"
long-press shortcut for Settings.
Bug: 316118005
Test: long press on Settings app
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space_install_shortcut DEVELOPMENT
Change-Id: Iecc0bdf60879ce5c74288942d39bbb3add68fd9c
Apply the extra top padding only if device is in portrait and aspect
ratio is beyond 1.5 to keep the original intent of avoiding showing
a single pane widget picker in super elongated form. In b/214215594,
a top padding was applied for w720, but in fold, it ended up showing
the picker only half way up. So, changed it to consider aspect ratio.
In b/315055849 the tablet portrait will use full width two pane picker,
and then, it will also not need this extra top padding. In that change,
we will use the flag to guard applying this extra padding.
See screen/cast/NTYwMjU1MzY4NDI5NTY4MHw3NDIxYzU0Mi1lNg
Test: WidgetPickerImageTest and Manual (screencast above)
Bug: 317013493
Flag: N/A
Change-Id: I90e0c416f0f05460960983588edf0068d99cd1a6
Adding logic to unlock private space and
scroll to the container after unlock event
is received by Launcher.
This change also moves pieces of Private Space
Animation to different classes, in order to make
it more robust.
Bug: 289024009
Test: atest PrivateProfileManagerTest
Flag: ACONFIG com.google.android.apps.nexuslauncher.inject_private_space_tile TEAMFOOD
Change-Id: Ica2fbc00ff3516ed5aca7fbbfc0bd2aa036a4cee
This removes duplicate logic for widget inflation.
Since the widget inflation can now happen during loader,
the restore logging can also be moved completely to the loader
Bug: 318539160
Test: atest TaplBinderTests
Flag: None
Change-Id: If9f336e7bf49ee7df121d7d9852b674d98124895
Right now, processWorkspaceItem is almost impossible to fully
understand. It is a behemoth of a method that handles everything
possibily related to processing a workspace item.
In order to make life easier for developers, it is being split into
smaller methods that deal with limited functionality each, and are
commented / named well. These can also be individually unit tested, so
developers don't have to use mock data anymore to test even the smallest
bit of functionality.
Bug: 318398886
Test: Manually verified that the workspace loading behavior still works
on device.
Flag: None, this is just a copy/paste refactor.
Change-Id: I040bce708cada5b29cf3488ddf37ccc8d7af8282
> Removing static mocks and using Sandbox context instead
> Removing inheritence in LauncherModel and converting LauncherApps.Callbacks
to a separate class. decMaker sometimes fails because of API changes in
LauncherApps.Callbacks
Bug: 319877828
Test: atest LoaderTaskTest
Flag: N/A
Change-Id: If78b5d83595627a355b284f52d887d75fef53014