diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2018-03-01 16:29:15 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2018-03-06 11:41:43 -0800 |
commit | 3661bfac0b810132c44df6c910f5374e76213004 (patch) | |
tree | 85c13e8730794f1436f743b10809b9da331e8780 /src/com/android/launcher3/widget/WidgetsFullSheet.java | |
parent | 46d259d9fb7b918ee5fee773ee615dd9111aa89f (diff) | |
download | android_packages_apps_Trebuchet-3661bfac0b810132c44df6c910f5374e76213004.tar.gz android_packages_apps_Trebuchet-3661bfac0b810132c44df6c910f5374e76213004.tar.bz2 android_packages_apps_Trebuchet-3661bfac0b810132c44df6c910f5374e76213004.zip |
Fixing fast scroller touch handling in all-apps and widget sheet
Also removing scrim view, instead drawing the scrim manually
Bug: 73085356
Change-Id: I188c6c9b1685e22d5d97b38dd5d3e960b655c9ba
Diffstat (limited to 'src/com/android/launcher3/widget/WidgetsFullSheet.java')
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsFullSheet.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/com/android/launcher3/widget/WidgetsFullSheet.java b/src/com/android/launcher3/widget/WidgetsFullSheet.java index 48f8afecd..b31feed3d 100644 --- a/src/com/android/launcher3/widget/WidgetsFullSheet.java +++ b/src/com/android/launcher3/widget/WidgetsFullSheet.java @@ -23,7 +23,6 @@ import android.graphics.Rect; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.MotionEvent; -import android.view.View; import android.view.animation.AnimationUtils; import com.android.launcher3.Insettable; @@ -31,6 +30,8 @@ import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherAppWidgetHost.ProviderChangedListener; import com.android.launcher3.R; +import com.android.launcher3.views.RecyclerViewFastScroller; +import com.android.launcher3.views.TopRoundedCornerView; /** * Popup for showing the full list of available widgets @@ -46,7 +47,6 @@ public class WidgetsFullSheet extends BaseWidgetSheet private final WidgetsListAdapter mAdapter; - private View mNavBarScrim; private WidgetsRecyclerView mRecyclerView; public WidgetsFullSheet(Context context, AttributeSet attrs, int defStyleAttr) { @@ -65,7 +65,6 @@ public class WidgetsFullSheet extends BaseWidgetSheet protected void onFinishInflate() { super.onFinishInflate(); mContent = findViewById(R.id.container); - mNavBarScrim = findViewById(R.id.nav_bar_bg); mRecyclerView = findViewById(R.id.widgets_list_view); mRecyclerView.setAdapter(mAdapter); @@ -91,7 +90,6 @@ public class WidgetsFullSheet extends BaseWidgetSheet public void setInsets(Rect insets) { mInsets.set(insets); - mNavBarScrim.getLayoutParams().height = insets.bottom; mRecyclerView.setPadding( mRecyclerView.getPaddingLeft(), mRecyclerView.getPaddingTop(), mRecyclerView.getPaddingRight(), insets.bottom); @@ -100,6 +98,8 @@ public class WidgetsFullSheet extends BaseWidgetSheet } else { clearNavBarColor(); } + + ((TopRoundedCornerView) mContent).setNavBarScrimHeight(mInsets.bottom); requestLayout(); } @@ -195,7 +195,11 @@ public class WidgetsFullSheet extends BaseWidgetSheet // Disable swipe down when recycler view is scrolling if (ev.getAction() == MotionEvent.ACTION_DOWN) { mNoIntercept = false; - if (mLauncher.getDragLayer().isEventOverView(mContent, ev)) { + RecyclerViewFastScroller scroller = mRecyclerView.getScrollbar(); + if (scroller.getThumbOffsetY() >= 0 && + mLauncher.getDragLayer().isEventOverView(scroller, ev)) { + mNoIntercept = true; + } else if (mLauncher.getDragLayer().isEventOverView(mContent, ev)) { mNoIntercept = !mRecyclerView.shouldContainerScroll(ev, mLauncher.getDragLayer()); } } |