Index: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/TopActivityListener.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/TopActivityListener.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/TopActivityListener.java |
index e746f7ef9e885cf561e4b790229c33aee216002c..479ee024c4132d5cb0322d54d1106872e6c833b9 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/TopActivityListener.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/TopActivityListener.java |
@@ -16,6 +16,8 @@ import org.chromium.base.ApplicationStatus.ActivityStateListener; |
import org.chromium.content.browser.test.util.Criteria; |
import org.chromium.content.browser.test.util.CriteriaHelper; |
+import java.util.concurrent.TimeUnit; |
+ |
import javax.annotation.Nullable; |
/** |
@@ -27,10 +29,14 @@ public class TopActivityListener implements TestRule { |
public void onActivityStateChange(Activity activity, int newState) { |
if (newState == ActivityState.RESUMED) { |
mMostRecentActivity = activity; |
+ } else if (activity == mMostRecentActivity && newState == ActivityState.PAUSED) { |
+ mMostRecentActivity = null; |
+ mTimeWhenSetToNullMillis = System.currentTimeMillis(); |
} |
} |
}; |
+ private long mTimeWhenSetToNullMillis; |
private Activity mMostRecentActivity; |
@Override |
@@ -61,4 +67,15 @@ public class TopActivityListener implements TestRule { |
}); |
return (T) mMostRecentActivity; |
} |
+ |
+ public void waitForExternalApp() { |
+ CriteriaHelper.pollUiThread(new Criteria() { |
+ @Override |
+ public boolean isSatisfied() { |
+ return mMostRecentActivity == null |
+ && (System.currentTimeMillis() - mTimeWhenSetToNullMillis) |
+ > TimeUnit.SECONDS.toMillis(1); |
dominickn
2017/07/07 05:56:04
Nit: possibly put the 1 as a static class level co
piotrs
2017/07/09 23:43:38
Done.
|
+ } |
+ }); |
+ } |
} |