Loading res/layout/add_item_confirmation_activity.xml +11 −4 Original line number Diff line number Diff line Loading @@ -65,12 +65,19 @@ android:alpha="0.7" android:importantForAccessibility="no"/> <include layout="@layout/widget_cell" android:id="@+id/widget_cell" <ScrollView android:id="@+id/widget_preview_scroll_view" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginVertical="16dp" /> android:layout_marginVertical="16dp" android:layout_weight="1"> <include android:id="@+id/widget_cell" layout="@layout/widget_cell" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ScrollView> <LinearLayout android:layout_width="match_parent" Loading src/com/android/launcher3/widget/AddItemWidgetsBottomSheet.java +17 −0 Original line number Diff line number Diff line Loading @@ -25,10 +25,12 @@ import android.content.Context; import android.graphics.Insets; import android.graphics.Rect; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.view.WindowInsets; import android.widget.ScrollView; import com.android.launcher3.DeviceProfile; import com.android.launcher3.R; Loading @@ -44,6 +46,7 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi private static final int DEFAULT_CLOSE_DURATION = 200; private final Rect mInsets; private ScrollView mWidgetPreviewScrollView; public AddItemWidgetsBottomSheet(Context context, AttributeSet attrs) { this(context, attrs, 0); Loading @@ -67,6 +70,19 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi animateOpen(); } @Override public boolean onControllerInterceptTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { mNoIntercept = false; // Suppress drag to dismiss gesture if the scroll view is being scrolled. if (getPopupContainer().isEventOverView(mWidgetPreviewScrollView, ev) && mWidgetPreviewScrollView.getScrollY() > 0) { mNoIntercept = true; } } return super.onControllerInterceptTouchEvent(ev); } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { int width = r - l; Loading Loading @@ -104,6 +120,7 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi protected void onFinishInflate() { super.onFinishInflate(); mContent = findViewById(R.id.add_item_bottom_sheet_content); mWidgetPreviewScrollView = findViewById(R.id.widget_preview_scroll_view); } private void animateOpen() { Loading Loading
res/layout/add_item_confirmation_activity.xml +11 −4 Original line number Diff line number Diff line Loading @@ -65,12 +65,19 @@ android:alpha="0.7" android:importantForAccessibility="no"/> <include layout="@layout/widget_cell" android:id="@+id/widget_cell" <ScrollView android:id="@+id/widget_preview_scroll_view" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginVertical="16dp" /> android:layout_marginVertical="16dp" android:layout_weight="1"> <include android:id="@+id/widget_cell" layout="@layout/widget_cell" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ScrollView> <LinearLayout android:layout_width="match_parent" Loading
src/com/android/launcher3/widget/AddItemWidgetsBottomSheet.java +17 −0 Original line number Diff line number Diff line Loading @@ -25,10 +25,12 @@ import android.content.Context; import android.graphics.Insets; import android.graphics.Rect; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.view.WindowInsets; import android.widget.ScrollView; import com.android.launcher3.DeviceProfile; import com.android.launcher3.R; Loading @@ -44,6 +46,7 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi private static final int DEFAULT_CLOSE_DURATION = 200; private final Rect mInsets; private ScrollView mWidgetPreviewScrollView; public AddItemWidgetsBottomSheet(Context context, AttributeSet attrs) { this(context, attrs, 0); Loading @@ -67,6 +70,19 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi animateOpen(); } @Override public boolean onControllerInterceptTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { mNoIntercept = false; // Suppress drag to dismiss gesture if the scroll view is being scrolled. if (getPopupContainer().isEventOverView(mWidgetPreviewScrollView, ev) && mWidgetPreviewScrollView.getScrollY() > 0) { mNoIntercept = true; } } return super.onControllerInterceptTouchEvent(ev); } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { int width = r - l; Loading Loading @@ -104,6 +120,7 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi protected void onFinishInflate() { super.onFinishInflate(); mContent = findViewById(R.id.add_item_bottom_sheet_content); mWidgetPreviewScrollView = findViewById(R.id.widget_preview_scroll_view); } private void animateOpen() { Loading