HideKeyboard when animations are disabled.

ValueAnimator.areAnimatorsEnabled() returns false

- When talkback is turned on.
- when "Settings -> Accessibility -> remove animations" are turned on.

In launcher code, when launcherstate goes from ALLAPPS -> NORMAL, AllAppsTransitionController.setStateWithAnimation is called only when animations are enabled and this function hides keyboard as well.

However, when animations are disabled
AllAppsTransitionController.setState -> onProgressAnimationEnd() is called which is where we need to hide keyboard. But the condition "if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) return;" caused the keyboard to not hide instead just return from onProgressAnimationEnd().

See https://source.corp.google.com/android-internal/packages/apps/Launcher3/src/com/android/launcher3/statemanager/StateManager.java;l=221-235;rcl=08a9bcac1f8400b44356ad4da445de8d7f360578

Bug: 239610759
Test: Manual
Video : https://drive.google.com/drive/folders/1Tif2uf13dYxIgtDlELkE4SiRthr_w-dZ?resourcekey=0-7Po8nbQPxhsgLqeMJGgKIw&usp=sharing

Change-Id: Ice9a0f951435d2fc1594d09414f299ce0cff775c
This commit is contained in:
Anushree Ganjam
2022-09-21 01:15:28 +00:00
parent 3ad08cd2b8
commit 2043d36b86

View File

@@ -319,7 +319,6 @@ public class AllAppsTransitionController
* TODO: This logic should go in {@link LauncherState}
*/
private void onProgressAnimationEnd() {
if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) return;
if (Float.compare(mProgress, 1f) == 0) {
mAppsView.reset(false /* animate */);
mLauncher.getAppsView().getSearchUiManager().getEditText().hideKeyboard();