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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/TopActivityListener.java

Issue 2969143002: Fixes redirects to external apps when navigating from PWA. (Closed)
Patch Set: Created 3 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/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.
+ }
+ });
+ }
}

Powered by Google App Engine
This is Rietveld 408576698