Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4719)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java

Issue 2463133002: 📰 Make the MORE button more configurable (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
index d914fa0cf02576ddaefeb0301054219fe1261cf0..f74db1255923db0beaaffef62563beb92cec4335 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
@@ -16,7 +16,6 @@
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver;
import org.chromium.chrome.browser.ntp.UiConfig;
-import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
import org.chromium.chrome.browser.signin.AccountSigninActivity;
import org.chromium.chrome.browser.signin.SigninAccessPoint;
@@ -28,8 +27,7 @@
* Shows a card prompting the user to sign in. This item is also a {@link TreeNode}, and calling
* {@link #hide()} or {@link #maybeShow()} will control its visibility.
*/
-public class SignInPromo
- extends ChildNode implements StatusCardViewHolder.DataSource, ImpressionTracker.Listener {
+public class SignInPromo extends OptionalLeaf implements StatusCardViewHolder.DataSource {
/**
* Whether the promo should be visible, according to the parent object.
*
@@ -44,13 +42,11 @@
*/
private boolean mDismissed;
- private final ImpressionTracker mImpressionTracker = new ImpressionTracker(null, this);
-
@Nullable
private final SigninObserver mObserver;
public SignInPromo(NodeParent parent, NewTabPageAdapter adapter) {
- super(parent);
+ super(parent, true);
mDismissed = ChromePreferenceManager.getInstance(ContextUtils.getApplicationContext())
.getNewTabPageSigninPromoDismissed();
@@ -60,16 +56,8 @@ public SignInPromo(NodeParent parent, NewTabPageAdapter adapter) {
}
@Override
- public int getItemCount() {
- if (!isShown()) return 0;
-
- return 1;
- }
-
- @Override
@ItemViewType
- public int getItemViewType(int position) {
- checkIndex(position);
+ public int getItemViewType() {
return ItemViewType.PROMO;
}
@@ -83,23 +71,9 @@ public DestructionObserver getObserver() {
}
@Override
- public void onBindViewHolder(NewTabPageViewHolder holder, int position) {
- checkIndex(position);
+ public void onBindViewHolder(NewTabPageViewHolder holder) {
assert holder instanceof StatusCardViewHolder;
((StatusCardViewHolder) holder).onBindViewHolder(this);
- mImpressionTracker.reset(mImpressionTracker.wasTriggered() ? null : holder.itemView);
- }
-
- @Override
- public SnippetArticle getSuggestionAt(int position) {
- checkIndex(position);
- return null;
- }
-
- @Override
- public int getDismissSiblingPosDelta(int position) {
- checkIndex(position);
- return 0;
}
@Override
@@ -128,9 +102,9 @@ public void performAction(Context context) {
@Override
public void onImpression() {
RecordUserAction.record("Signin_Impression_FromNTPContentSuggestions");
- mImpressionTracker.reset(null);
}
+ @Override
public boolean isShown() {
return !mDismissed && mVisible;
}
@@ -264,10 +238,4 @@ public boolean isDismissable() {
return true;
}
}
-
- private void checkIndex(int position) {
- if (position < 0 || position >= getItemCount()) {
- throw new IndexOutOfBoundsException(position + "/" + getItemCount());
- }
- }
}

Powered by Google App Engine
This is Rietveld 408576698