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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java

Issue 2599743002: Trigger the Snippets Scheduler when Resuming Activities (Closed)
Patch Set: Rebase Created 3 years, 11 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/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
index 3653838554ba3620d69de5f5735247af2e725473..7339ca2944a9973305bbc970ec9fe820bf100ed9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
@@ -63,6 +63,11 @@ public abstract class AsyncInitializationActivity extends AppCompatActivity impl
private long mLastUserInteractionTime;
private boolean mIsTablet;
private boolean mHadWarmStart;
+ private boolean mIsWarmOnResume;
+
+ // Stores whether the activity was not resumed yet. Always false after the
+ // first |onResume| call.
+ private boolean mFirstResumePending = true;
public AsyncInitializationActivity() {
mHandler = new Handler();
@@ -294,6 +299,8 @@ public abstract class AsyncInitializationActivity extends AppCompatActivity impl
super.onResume();
mNativeInitializationController.onResume();
if (mLaunchBehindWorkaround != null) mLaunchBehindWorkaround.onResume();
+ mIsWarmOnResume = !mFirstResumePending || hadWarmStart();
+ mFirstResumePending = false;
}
@Override
@@ -408,6 +415,18 @@ public abstract class AsyncInitializationActivity extends AppCompatActivity impl
return mHadWarmStart;
}
+ /**
+ * This returns true if the activity was started warm (native library loaded and initialized) or
+ * if a cold starts have been completed by the time onResume is/will be called.
+ * This is useful to distinguish between the case where an already running instance of Chrome is
+ * being brought back to the foreground from the case where Chrome is started, in order to avoid
+ * contention on browser startup
+ * @return Whether the activity is warm in onResume.
+ */
+ public boolean isWarmOnResume() {
+ return mIsWarmOnResume;
+ }
+
@Override
public void onUserInteraction() {
mLastUserInteractionTime = SystemClock.elapsedRealtime();

Powered by Google App Engine
This is Rietveld 408576698