Index: chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellToolbar.java |
diff --git a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellToolbar.java b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellToolbar.java |
index fd9bdc9e75a4beb074c4b0fa28f3af62e4b596e2..ab193ff9b4aea46b6119ba171c79ba0ec89ce829 100644 |
--- a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellToolbar.java |
+++ b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellToolbar.java |
@@ -26,7 +26,7 @@ |
import org.chromium.chrome.browser.UrlUtilities; |
import org.chromium.chrome.browser.appmenu.AppMenuButtonHelper; |
import org.chromium.chrome.browser.appmenu.AppMenuHandler; |
-import org.chromium.chrome.browser.widget.ToolbarProgressBar; |
+import org.chromium.chrome.browser.widget.SmoothProgressBar; |
import org.chromium.chrome.shell.omnibox.SuggestionPopup; |
import org.chromium.content.common.ContentSwitches; |
@@ -34,25 +34,31 @@ |
* A Toolbar {@link View} that shows the URL and navigation buttons. |
*/ |
public class ChromeShellToolbar extends LinearLayout { |
+ private static final long COMPLETED_PROGRESS_TIMEOUT_MS = 200; |
+ |
+ private final Runnable mClearProgressRunnable = new Runnable() { |
+ @Override |
+ public void run() { |
+ mProgressBar.setProgress(0); |
+ } |
+ }; |
private final Runnable mUpdateProgressRunnable = new Runnable() { |
@Override |
public void run() { |
- mStopReloadButton.setImageResource( |
- mLoading ? R.drawable.btn_close : R.drawable.btn_toolbar_reload); |
- |
- if (mProgress == 100.0f) { |
- if (mProgressBar.getProgress() != 1.0f) mProgressBar.setProgress(1.0f); |
- mProgressBar.finish(true); |
+ mProgressBar.setProgress(mProgress); |
+ if (mLoading) { |
+ mStopReloadButton.setImageResource( |
+ R.drawable.btn_close); |
} else { |
- mProgressBar.start(); |
- mProgressBar.setProgress(mProgress / 100.0f); |
+ mStopReloadButton.setImageResource(R.drawable.btn_toolbar_reload); |
+ postOnAnimationDelayed(mClearProgressRunnable, COMPLETED_PROGRESS_TIMEOUT_MS); |
} |
} |
}; |
private EditText mUrlTextView; |
- private ToolbarProgressBar mProgressBar; |
+ private SmoothProgressBar mProgressBar; |
private ChromeShellTab mTab; |
private final TabObserver mTabObserver; |
@@ -115,6 +121,7 @@ |
} |
private void onLoadProgressChanged(int progress) { |
+ removeCallbacks(mClearProgressRunnable); |
removeCallbacks(mUpdateProgressRunnable); |
mProgress = progress; |
mLoading = progress != 100; |
@@ -132,7 +139,7 @@ |
protected void onFinishInflate() { |
super.onFinishInflate(); |
- mProgressBar = (ToolbarProgressBar) findViewById(R.id.progress); |
+ mProgressBar = (SmoothProgressBar) findViewById(R.id.progress); |
initializeUrlField(); |
initializeTabSwitcherButton(); |
initializeMenuButton(); |