diff --git a/src/com/android/launcher3/widget/WidgetsFullSheet.java b/src/com/android/launcher3/widget/WidgetsFullSheet.java index b3e9734e9d..37a30af22a 100644 --- a/src/com/android/launcher3/widget/WidgetsFullSheet.java +++ b/src/com/android/launcher3/widget/WidgetsFullSheet.java @@ -193,6 +193,7 @@ public class WidgetsFullSheet extends BaseWidgetSheet .setDuration(DEFAULT_OPEN_DURATION) .setInterpolator(AnimationUtils.loadInterpolator( getContext(), android.R.interpolator.linear_out_slow_in)); + mRecyclerView.setLayoutFrozen(true); mOpenCloseAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { @@ -202,7 +203,6 @@ public class WidgetsFullSheet extends BaseWidgetSheet } }); post(() -> { - mRecyclerView.setLayoutFrozen(true); mOpenCloseAnimator.start(); mContent.animate().alpha(1).setDuration(FADE_IN_DURATION); }); diff --git a/tests/tapl/com/android/launcher3/tapl/Widgets.java b/tests/tapl/com/android/launcher3/tapl/Widgets.java index 5be57c6c0b..6f847e9c77 100644 --- a/tests/tapl/com/android/launcher3/tapl/Widgets.java +++ b/tests/tapl/com/android/launcher3/tapl/Widgets.java @@ -16,6 +16,8 @@ package com.android.launcher3.tapl; +import static com.android.launcher3.tapl.LauncherInstrumentation.WAIT_TIME_MS; + import android.graphics.Point; import android.graphics.Rect; @@ -23,6 +25,7 @@ import androidx.test.uiautomator.By; import androidx.test.uiautomator.BySelector; import androidx.test.uiautomator.Direction; import androidx.test.uiautomator.UiObject2; +import androidx.test.uiautomator.Until; import com.android.launcher3.tapl.LauncherInstrumentation.GestureScope; @@ -91,6 +94,8 @@ public final class Widgets extends LauncherInstrumentation.VisibleContainer { try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( "getting widget " + labelText + " in widgets list")) { final UiObject2 widgetsContainer = verifyActiveContainer(); + mLauncher.assertTrue("Widgets container didn't become scrollable", + widgetsContainer.wait(Until.scrollable(true), WAIT_TIME_MS)); final Point displaySize = mLauncher.getRealDisplaySize(); final BySelector labelSelector = By.clazz("android.widget.TextView").text(labelText);