OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.firstrun; | 5 package org.chromium.chrome.browser.firstrun; |
6 | 6 |
7 import android.animation.Animator; | 7 import android.animation.Animator; |
8 import android.animation.AnimatorSet; | 8 import android.animation.AnimatorSet; |
9 import android.animation.ObjectAnimator; | 9 import android.animation.ObjectAnimator; |
10 import android.content.Context; | 10 import android.content.Context; |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 default: | 213 default: |
214 // Enable scrolling only if no account has already been selected
. | 214 // Enable scrolling only if no account has already been selected
. |
215 mScrollingDisabled = mAccountSelected; | 215 mScrollingDisabled = mAccountSelected; |
216 mImages = Arrays.copyOf(images, images.length); | 216 mImages = Arrays.copyOf(images, images.length); |
217 break; | 217 break; |
218 } | 218 } |
219 | 219 |
220 updateImageViews(); | 220 updateImageViews(); |
221 } | 221 } |
222 | 222 |
| 223 ImageView mCheckmark; |
223 /** | 224 /** |
224 * Sets the ImageCarousel to signed in mode that disables scrolling, animate
s away the | 225 * Sets whether the ImageCarousel is in signed in mode. This mode disables s
crolling, animates |
225 * background images, and displays a checkmark next to the account image tha
t was chosen. | 226 * away the background images, and displays a checkmark next to the chosen a
ccount image. |
| 227 * @param isSignedIn Whether the ImageCarousel should in signed in mode or n
ot. |
226 */ | 228 */ |
227 public void setSignedInMode() { | 229 public void setSignedInMode(boolean isSignedIn) { |
228 mScrollingDisabled = true; | 230 mScrollingDisabled = isSignedIn; |
229 mAccountSelected = true; | 231 mAccountSelected = isSignedIn; |
230 setPosition(getCenterPosition()); | 232 setPosition(getCenterPosition()); |
231 | 233 |
232 ImageView checkmark = new ImageView(getContext()); | 234 if (mCheckmark == null) { |
233 checkmark.setImageResource(R.drawable.verify_checkmark); | 235 // If the checkmark hasn't been created and we don't want to show it
, exit early. |
234 setLayoutParamsForCheckmark(checkmark); | 236 if (!isSignedIn) { |
235 addView(checkmark); | 237 return; |
| 238 } |
| 239 |
| 240 mCheckmark = new ImageView(getContext()); |
| 241 mCheckmark.setImageResource(R.drawable.verify_checkmark); |
| 242 setLayoutParamsForCheckmark(mCheckmark); |
| 243 addView(mCheckmark); |
| 244 } |
236 | 245 |
237 if (mFadeInOutAnimator != null) mFadeInOutAnimator.cancel(); | 246 if (mFadeInOutAnimator != null) mFadeInOutAnimator.cancel(); |
238 AnimatorSet animatorSet = new AnimatorSet(); | 247 AnimatorSet animatorSet = new AnimatorSet(); |
239 animatorSet.playTogether( | 248 if (isSignedIn) { |
240 ObjectAnimator.ofFloat(this, BACKGROUND_IMAGE_ALPHA, 0), | 249 animatorSet.playTogether(ObjectAnimator.ofFloat(this, BACKGROUND_IMA
GE_ALPHA, 0), |
241 ObjectAnimator.ofFloat(checkmark, View.ALPHA, 0.0f, 1.0f)); | 250 ObjectAnimator.ofFloat(mCheckmark, View.ALPHA, 0.0f, 1.0f)); |
| 251 } else { |
| 252 animatorSet.playTogether(ObjectAnimator.ofFloat(this, BACKGROUND_IMA
GE_ALPHA, 1), |
| 253 ObjectAnimator.ofFloat(mCheckmark, View.ALPHA, 1.0f, 0.0f)); |
| 254 } |
242 mFadeInOutAnimator = animatorSet; | 255 mFadeInOutAnimator = animatorSet; |
243 mFadeInOutAnimator.setDuration(ACCOUNT_SIGNED_IN_ANIMATION_DURATION_MS); | 256 mFadeInOutAnimator.setDuration(ACCOUNT_SIGNED_IN_ANIMATION_DURATION_MS); |
244 mFadeInOutAnimator.start(); | 257 mFadeInOutAnimator.start(); |
245 } | 258 } |
246 | 259 |
247 @Override | 260 @Override |
248 public void onFinishInflate() { | 261 public void onFinishInflate() { |
249 super.onFinishInflate(); | 262 super.onFinishInflate(); |
250 | 263 |
251 mImageWidth = getResources().getDimensionPixelSize(R.dimen.fre_image_car
ousel_height); | 264 mImageWidth = getResources().getDimensionPixelSize(R.dimen.fre_image_car
ousel_height); |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 private void setLayoutParamsForCheckmark(View view) { | 431 private void setLayoutParamsForCheckmark(View view) { |
419 int size = getResources().getDimensionPixelSize(R.dimen.fre_checkmark_si
ze); | 432 int size = getResources().getDimensionPixelSize(R.dimen.fre_checkmark_si
ze); |
420 FrameLayout.LayoutParams params = | 433 FrameLayout.LayoutParams params = |
421 new FrameLayout.LayoutParams(size, size); | 434 new FrameLayout.LayoutParams(size, size); |
422 params.gravity = Gravity.CENTER; | 435 params.gravity = Gravity.CENTER; |
423 view.setLayoutParams(params); | 436 view.setLayoutParams(params); |
424 view.setTranslationX((mImageWidth - size) / 2f); | 437 view.setTranslationX((mImageWidth - size) / 2f); |
425 view.setTranslationY((mImageWidth - size) / 2f); | 438 view.setTranslationY((mImageWidth - size) / 2f); |
426 } | 439 } |
427 } | 440 } |
OLD | NEW |