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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java

Issue 1249793003: Revert of [Andorid] Migrate to ClipDrawable progress bar. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months 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/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
index 8407d32c1e1dc02add810aacbb885582d9805529..669124f913a858b43f727352ed8d741dbe746322 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
@@ -6,18 +6,16 @@
import static org.chromium.base.test.util.Restriction.RESTRICTION_TYPE_PHONE;
-import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
import android.test.suitebuilder.annotation.MediumTest;
-import android.view.View;
import org.chromium.base.ThreadUtils;
-import org.chromium.base.annotations.SuppressFBWarnings;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
+import org.chromium.content.browser.test.util.Criteria;
+import org.chromium.content.browser.test.util.CriteriaHelper;
import java.util.concurrent.atomic.AtomicReference;
@@ -37,77 +35,57 @@
/**
* Test that calling progressBar.setProgress(# > 0) followed by progressBar.setProgress(0)
- * results in a hidden progress bar.
+ * results in a hidden progress bar (the secondary progress needs to be 0).
* @throws InterruptedException
*/
@Feature({"Android-Toolbar"})
@MediumTest
@Restriction(RESTRICTION_TYPE_PHONE)
- @SuppressFBWarnings({"WA_NOT_IN_LOOP", "UW_UNCOND_WAIT"})
public void testProgressBarDisappearsAfterFastShowHide() throws InterruptedException {
- // onAnimationEnd will be signaled on progress bar showing/hiding animation end.
- final Object onAnimationEnd = new Object();
final AtomicReference<ToolbarProgressBar> progressBar =
new AtomicReference<ToolbarProgressBar>();
- ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
progressBar.set((ToolbarProgressBar) getActivity().findViewById(R.id.progress));
- progressBar.get().setAlphaAnimationDuration(10);
- progressBar.get().setHidingDelay(10);
- progressBar.get().animate().setListener(new AnimatorListener() {
- @Override
- public void onAnimationStart(Animator animation) {
- }
-
- @Override
- public void onAnimationRepeat(Animator animation) {
- }
-
- @Override
- public void onAnimationEnd(Animator animation) {
- synchronized (onAnimationEnd) {
- onAnimationEnd.notify();
- }
- }
-
- @Override
- public void onAnimationCancel(Animator animation) {
- }
- });
}
});
- // Before the actual test, ensure that the progress bar is hidden.
- assertNotSame(View.VISIBLE, progressBar.get().getVisibility());
+ // Wait for the progress bar to be reset.
+ CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
+ @Override
+ public boolean isSatisfied() {
+ return progressBar.get().getProgress() == 0;
+ }
+ });
- // Make some progress and check that the progress bar is fully visible.
- synchronized (onAnimationEnd) {
- ThreadUtils.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- progressBar.get().start();
- progressBar.get().setProgress(0.5f);
- }
- });
+ ThreadUtils.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ assertEquals("Progress bar should be hidden to start.", 0,
+ progressBar.get().getProgress());
+ progressBar.get().setProgress(10);
+ assertTrue("Progress bar did not start animating",
+ progressBar.get().isAnimatingForShowOrHide());
+ progressBar.get().setProgress(0);
+ }
+ });
- onAnimationEnd.wait();
- assertEquals(1.0f, progressBar.get().getAlpha());
- assertEquals(View.VISIBLE, progressBar.get().getVisibility());
- }
+ // Wait for the progress bar to finish any and all animations.
+ CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
+ @Override
+ public boolean isSatisfied() {
+ return !progressBar.get().isAnimatingForShowOrHide();
+ }
+ });
- // Clear progress and check that the progress bar is hidden.
- synchronized (onAnimationEnd) {
- ThreadUtils.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- progressBar.get().finish(true);
- }
- });
-
- onAnimationEnd.wait();
- assertEquals(0.0f, progressBar.get().getAlpha());
- assertNotSame(View.VISIBLE, progressBar.get().getVisibility());
- }
+ ThreadUtils.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ // The secondary progress should be gone.
+ assertEquals("Progress bar background still visible.", 0,
+ progressBar.get().getSecondaryProgress());
+ }
+ });
}
}

Powered by Google App Engine
This is Rietveld 408576698