| 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());
|
| - }
|
| - }
|
| }
|
|
|