Index: chrome/android/java/src/org/chromium/chrome/browser/firstrun/ImageCarousel.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ImageCarousel.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ImageCarousel.java |
index df5a61f7a456b7fccc045f36258de5f03fb01d21..4fb92ef555e1b9fb6b4f26ba6e96a7f6b70673ce 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ImageCarousel.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ImageCarousel.java |
@@ -220,25 +220,38 @@ public class ImageCarousel extends FrameLayout implements GestureDetector.OnGest |
updateImageViews(); |
} |
+ ImageView mCheckmark; |
/** |
- * Sets the ImageCarousel to signed in mode that disables scrolling, animates away the |
- * background images, and displays a checkmark next to the account image that was chosen. |
+ * Sets whether the ImageCarousel is in signed in mode. This mode disables scrolling, animates |
+ * away the background images, and displays a checkmark next to the chosen account image. |
+ * @param isSignedIn Whether the ImageCarousel should in signed in mode or not. |
*/ |
- public void setSignedInMode() { |
- mScrollingDisabled = true; |
- mAccountSelected = true; |
+ public void setSignedInMode(boolean isSignedIn) { |
+ mScrollingDisabled = isSignedIn; |
+ mAccountSelected = isSignedIn; |
setPosition(getCenterPosition()); |
- ImageView checkmark = new ImageView(getContext()); |
- checkmark.setImageResource(R.drawable.verify_checkmark); |
- setLayoutParamsForCheckmark(checkmark); |
- addView(checkmark); |
+ if (mCheckmark == null) { |
+ // If the checkmark hasn't been created and we don't want to show it, exit early. |
+ if (!isSignedIn) { |
+ return; |
+ } |
+ |
+ mCheckmark = new ImageView(getContext()); |
+ mCheckmark.setImageResource(R.drawable.verify_checkmark); |
+ setLayoutParamsForCheckmark(mCheckmark); |
+ addView(mCheckmark); |
+ } |
if (mFadeInOutAnimator != null) mFadeInOutAnimator.cancel(); |
AnimatorSet animatorSet = new AnimatorSet(); |
- animatorSet.playTogether( |
- ObjectAnimator.ofFloat(this, BACKGROUND_IMAGE_ALPHA, 0), |
- ObjectAnimator.ofFloat(checkmark, View.ALPHA, 0.0f, 1.0f)); |
+ if (isSignedIn) { |
+ animatorSet.playTogether(ObjectAnimator.ofFloat(this, BACKGROUND_IMAGE_ALPHA, 0), |
+ ObjectAnimator.ofFloat(mCheckmark, View.ALPHA, 0.0f, 1.0f)); |
+ } else { |
+ animatorSet.playTogether(ObjectAnimator.ofFloat(this, BACKGROUND_IMAGE_ALPHA, 1), |
+ ObjectAnimator.ofFloat(mCheckmark, View.ALPHA, 1.0f, 0.0f)); |
+ } |
mFadeInOutAnimator = animatorSet; |
mFadeInOutAnimator.setDuration(ACCOUNT_SIGNED_IN_ANIMATION_DURATION_MS); |
mFadeInOutAnimator.start(); |