From 2e22b5d2de066245f8c8f52343bb2a8b4e8eb563 Mon Sep 17 00:00:00 2001 From: Peter Schiller Date: Tue, 12 Jul 2016 12:45:10 -0700 Subject: [PATCH] Fixed header elevation shadow on rotate Change-Id: I1a4b55cf9af67d93e56d84378036c0061b6e8104 --- src/com/android/launcher3/BaseRecyclerView.java | 2 +- src/com/android/launcher3/allapps/AllAppsRecyclerView.java | 2 +- src/com/android/launcher3/allapps/HeaderElevationController.java | 3 ++- src/com/android/launcher3/widget/WidgetsRecyclerView.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/BaseRecyclerView.java b/src/com/android/launcher3/BaseRecyclerView.java index 401b699f1..45bc94006 100644 --- a/src/com/android/launcher3/BaseRecyclerView.java +++ b/src/com/android/launcher3/BaseRecyclerView.java @@ -273,7 +273,7 @@ public abstract class BaseRecyclerView extends RecyclerView * * @return the scroll top of this recycler view. */ - protected abstract int getCurrentScrollY(); + public abstract int getCurrentScrollY(); /** * Maps the touch (from 0..1) to the adapter position that should be visible. diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java index c2be01f9f..93da2976a 100644 --- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java +++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java @@ -375,7 +375,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView } @Override - protected int getCurrentScrollY() { + public int getCurrentScrollY() { // Return early if there are no items or we haven't been measured List items = mApps.getAdapterItems(); if (items.isEmpty() || mNumAppsPerRow == 0 || getChildCount() == 0) { diff --git a/src/com/android/launcher3/allapps/HeaderElevationController.java b/src/com/android/launcher3/allapps/HeaderElevationController.java index e8f74eb5e..ce9837c39 100644 --- a/src/com/android/launcher3/allapps/HeaderElevationController.java +++ b/src/com/android/launcher3/allapps/HeaderElevationController.java @@ -12,6 +12,7 @@ import android.view.ViewGroup; import android.view.ViewOutlineProvider; import android.widget.FrameLayout; +import com.android.launcher3.BaseRecyclerView; import com.android.launcher3.R; /** @@ -28,7 +29,7 @@ public abstract class HeaderElevationController extends RecyclerView.OnScrollLis @Override public final void onScrolled(RecyclerView recyclerView, int dx, int dy) { - mCurrentY += dy; + mCurrentY = ((BaseRecyclerView) recyclerView).getCurrentScrollY(); onScroll(mCurrentY); } diff --git a/src/com/android/launcher3/widget/WidgetsRecyclerView.java b/src/com/android/launcher3/widget/WidgetsRecyclerView.java index 097520605..2560661c1 100644 --- a/src/com/android/launcher3/widget/WidgetsRecyclerView.java +++ b/src/com/android/launcher3/widget/WidgetsRecyclerView.java @@ -129,7 +129,7 @@ public class WidgetsRecyclerView extends BaseRecyclerView { } @Override - protected int getCurrentScrollY() { + public int getCurrentScrollY() { // Skip early if widgets are not bound. if (isModelNotReady() || getChildCount() == 0) { return -1; -- 2.11.0