| 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..a8e01097767e866d4034c8e14f3b26e2c65ce8ee 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,8 @@
|
| * 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, ImpressionTracker.Listener {
|
| /**
|
| * Whether the promo should be visible, according to the parent object.
|
| *
|
| @@ -60,16 +59,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,26 +74,13 @@ 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
|
| @StringRes
|
| public int getHeader() {
|
| return R.string.snippets_disabled_generic_prompt;
|
| @@ -131,6 +109,7 @@ public void onImpression() {
|
| mImpressionTracker.reset(null);
|
| }
|
|
|
| + @Override
|
| public boolean isShown() {
|
| return !mDismissed && mVisible;
|
| }
|
| @@ -264,10 +243,4 @@ public boolean isDismissable() {
|
| return true;
|
| }
|
| }
|
| -
|
| - private void checkIndex(int position) {
|
| - if (position < 0 || position >= getItemCount()) {
|
| - throw new IndexOutOfBoundsException(position + "/" + getItemCount());
|
| - }
|
| - }
|
| }
|
|
|