Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageViewHolder.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageViewHolder.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..386facab1e02b30d7e56401e2b496d7058add20f |
--- /dev/null |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageViewHolder.java |
@@ -0,0 +1,48 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.ntp; |
+ |
+import android.support.v7.widget.RecyclerView; |
+import android.view.View; |
+ |
+import org.chromium.chrome.browser.ntp.NewTabPageCardsManager.NewTabPageListItem; |
+import org.chromium.chrome.browser.ntp.snippets.SnippetsManager; |
+ |
+/** |
+ * A class that represents an item we want to display on the NTP. An item can be anything that will |
+ * be displayed on the NTP RecyclerView. |
+ */ |
+public abstract class NewTabPageViewHolder extends RecyclerView.ViewHolder { |
+ private final SnippetsManager mManager; |
+ |
+ /** |
+ * Constructs a NewTabPageViewHolder item used to display an part of the NTP (e.g., header, |
+ * article snippet, above the fold view, etc.) |
+ * |
+ * @param itemView The View for this item |
+ * @param manager The SnippetsManager object used to open an article |
+ */ |
+ public NewTabPageViewHolder(View itemView, SnippetsManager manager) { |
+ super(itemView); |
+ mManager = manager; |
+ } |
+ |
+ /** |
+ * Opens the given URL |
+ * |
+ * @param url The URL to open. |
+ */ |
+ protected void loadUrl(String url) { |
dgn
2016/03/25 16:29:20
it can be anything? but still somehow can load url
dgn
2016/03/25 16:31:24
Oops, sent notes I made before I was done looking
|
+ mManager.loadUrl(url); |
+ } |
+ |
+ /** |
+ * Called when the NTP cards adapter is requested to update the currently visible ViewHolder |
+ * with data. |
+ * |
+ * @param cardItem The NewTabPageListItem object that holds the data for this ViewHolder |
+ */ |
+ public abstract void onBindViewHolder(NewTabPageListItem cardItem); |
+} |