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

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

Issue 1398423002: Add progressbar to animated doodle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: xml nit Created 5 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/LogoView.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/LogoView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/LogoView.java
index ae7006ba8fab3ef4832ff09c66ca17d38c95ba49..c92240c371d01fb8ad33cdda09ddad02c3b5e0b0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/LogoView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/LogoView.java
@@ -17,12 +17,15 @@ import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Property;
+import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
+import android.widget.FrameLayout;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ntp.LogoBridge.Logo;
import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
+import org.chromium.chrome.browser.widget.LoadingView;
import java.lang.ref.WeakReference;
@@ -34,7 +37,7 @@ import jp.tomorrowkey.android.gifplayer.BaseGifImage;
* available. It also maintains a {@link BaseGifDrawable} that will be played when the user clicks
* this view and we have an animated GIF logo ready.
*/
-public class LogoView extends View implements OnClickListener {
+public class LogoView extends FrameLayout implements OnClickListener {
// Number of milliseconds for a new logo to fade in.
private static final int LOGO_TRANSITION_TIME_MS = 400;
@@ -55,6 +58,8 @@ public class LogoView extends View implements OnClickListener {
private boolean mLogoIsDefault;
private boolean mNewLogoIsDefault;
+ private LoadingView mLoadingView;
+
/**
* A measure from 0 to 1 of how much the new logo has faded in. 0 shows the old logo, 1 shows
* the new logo, and intermediate values show the new logo cross-fading in over the old logo.
@@ -99,6 +104,14 @@ public class LogoView extends View implements OnClickListener {
// logo is shown, this view will be marked clickable again.
setOnClickListener(this);
setClickable(false);
+ setWillNotDraw(false);
+
+ mLoadingView = new LoadingView(getContext());
+ LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
+ lp.gravity = Gravity.CENTER;
+ mLoadingView.setLayoutParams(lp);
+ mLoadingView.setVisibility(View.GONE);
+ addView(mLoadingView);
}
/**
@@ -130,6 +143,7 @@ public class LogoView extends View implements OnClickListener {
* Starts playing the given animated GIF logo.
*/
public void playAnimatedLogo(BaseGifImage gifImage) {
+ mLoadingView.hideLoadingUI();
mAnimatedLogoDrawable = new BaseGifDrawable(gifImage, Config.ARGB_8888);
mAnimatedLogoMatrix = new Matrix();
setMatrix(mAnimatedLogoDrawable.getIntrinsicWidth(),
@@ -140,6 +154,13 @@ public class LogoView extends View implements OnClickListener {
}
/**
+ * Lets logo view show a spinning progressbar.
+ */
+ public void showLoadingView() {
+ mLoadingView.showLoadingUI();
+ }
+
+ /**
* Fades in a new logo over the current logo.
*
* @param logo The new logo to fade in. May be null to reset to the default logo.

Powered by Google App Engine
This is Rietveld 408576698