Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java |
index d695a369d6949feb32cfeb630fd176b8f3584177..3032cf2fe48fd26c286dd4d4a4ded646b8c33e36 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java |
@@ -4,8 +4,13 @@ |
package org.chromium.chrome.browser.suggestions; |
+import android.support.v7.widget.RecyclerView; |
+import android.support.v7.widget.RecyclerView.OnScrollListener; |
+import android.view.LayoutInflater; |
import android.view.View; |
+import org.chromium.base.ApiCompatibilityUtils; |
+import org.chromium.chrome.R; |
import org.chromium.chrome.browser.ChromeActivity; |
import org.chromium.chrome.browser.NativePageHost; |
import org.chromium.chrome.browser.ntp.ContextMenuManager; |
@@ -15,6 +20,8 @@ import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; |
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; |
import org.chromium.chrome.browser.profiles.Profile; |
import org.chromium.chrome.browser.tabmodel.TabModelSelector; |
+import org.chromium.chrome.browser.widget.FadingShadow; |
+import org.chromium.chrome.browser.widget.FadingShadowView; |
import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet; |
import org.chromium.chrome.browser.widget.bottomsheet.BottomSheetContentController; |
import org.chromium.chrome.browser.widget.bottomsheet.EmptyBottomSheetObserver; |
@@ -30,6 +37,8 @@ public class SuggestionsBottomSheetContent implements BottomSheet.BottomSheetCon |
private static SuggestionsSource sSuggestionsSourceForTesting; |
private static SuggestionsMetricsReporter sMetricsReporterForTesting; |
+ private final View mView; |
+ private final FadingShadowView mShadowView; |
private final SuggestionsRecyclerView mRecyclerView; |
private final ContextMenuManager mContextMenuManager; |
private final SuggestionsUiDelegateImpl mSuggestionsManager; |
@@ -45,7 +54,9 @@ public class SuggestionsBottomSheetContent implements BottomSheet.BottomSheetCon |
new TileGroupDelegateImpl(activity, profile, tabModelSelector, navigationDelegate); |
mSuggestionsManager = createSuggestionsDelegate(profile, navigationDelegate, host); |
- mRecyclerView = new SuggestionsRecyclerView(activity); |
+ mView = LayoutInflater.from(activity).inflate( |
+ R.layout.suggestions_bottom_sheet_content, null); |
+ mRecyclerView = (SuggestionsRecyclerView) mView.findViewById(R.id.recycler_view); |
mContextMenuManager = new ContextMenuManager(activity, navigationDelegate, mRecyclerView); |
activity.getWindowAndroid().addContextMenuCloseListener(mContextMenuManager); |
mSuggestionsManager.addDestructionObserver(new DestructionObserver() { |
@@ -73,11 +84,24 @@ public class SuggestionsBottomSheetContent implements BottomSheet.BottomSheetCon |
if (activity.getBottomSheet().getSheetState() != BottomSheet.SHEET_STATE_PEEK) { |
adapter.refreshSuggestions(); |
} |
+ |
+ mShadowView = (FadingShadowView) mView.findViewById(R.id.shadow); |
+ mShadowView.init( |
+ ApiCompatibilityUtils.getColor(mView.getResources(), R.color.toolbar_shadow_color), |
+ FadingShadow.POSITION_TOP); |
+ |
+ mRecyclerView.addOnScrollListener(new OnScrollListener() { |
+ @Override |
+ public void onScrolled(RecyclerView recyclerView, int dx, int dy) { |
+ boolean shadowVisible = mRecyclerView.canScrollVertically(-1); |
+ mShadowView.setVisibility(shadowVisible ? View.VISIBLE : View.GONE); |
+ } |
+ }); |
} |
@Override |
public View getContentView() { |
- return mRecyclerView; |
+ return mView; |
} |
@Override |