Scroll to show WidgetCell when it is tapped.
Scroll to show WidgetCell when it is tapped in a widget sheet. Otherwise, the add button may show/hide without the user seeing it if the bottom is clipped. Bug: 329861721 Test: manual- tap WidgetCell when top or bottom is scrolled out of view Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add TEAMFOOD Change-Id: Ie21730c193e845cb1c1fa447b7c0a7e719984a8f
This commit is contained in:
@@ -28,6 +28,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewParent;
|
||||
import android.view.animation.Interpolator;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TableLayout;
|
||||
@@ -282,4 +283,16 @@ public class WidgetsBottomSheet extends BaseWidgetSheet {
|
||||
float distanceToMove, Interpolator interpolator, PendingAnimation target) {
|
||||
target.addAnimatedFloat(mSwipeToDismissProgress, 0f, 1f, interpolator);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void scrollCellContainerByY(WidgetCell wc, int scrollByY) {
|
||||
for (ViewParent parent = wc.getParent(); parent != null; parent = parent.getParent()) {
|
||||
if (parent instanceof ScrollView scrollView) {
|
||||
scrollView.smoothScrollBy(0, scrollByY);
|
||||
return;
|
||||
} else if (parent == this) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user