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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java

Issue 2143583003: [FRE] Only finish corresponding First Run Experience when exiting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: do null check Created 4 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
index 451aa08707dfb250dd531677991cd4d65e8795dd..e7a2e116045905cba2ffba67caf6ce6039d8709f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
@@ -260,7 +260,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
Intent intent = new Intent();
if (mFreProperties != null) intent.putExtras(mFreProperties);
intent.putExtra(RESULT_CLOSE_APP, true);
- finishAllFREActivities(Activity.RESULT_CANCELED, intent);
+ finishAllTheActivities(getLocalClassName(), Activity.RESULT_CANCELED, intent);
}
@Override
@@ -318,7 +318,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
Intent resultData = new Intent();
resultData.putExtras(mFreProperties);
- finishAllFREActivities(Activity.RESULT_OK, resultData);
+ finishAllTheActivities(getLocalClassName(), Activity.RESULT_OK, resultData);
}
@Override
@@ -368,11 +368,17 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
if (mNativeSideIsInitialized) ChromeApplication.flushPersistentData();
}
- protected static void finishAllFREActivities(int result, Intent data) {
+ /**
+ * Finish all the instances of the given Activity.
+ * @param targetActivity The class name of the target Activity.
+ * @param result The result code to propagate back to the originating activity.
+ * @param data The data to propagate back to the originating activity.
+ */
+ protected static void finishAllTheActivities(String targetActivity, int result, Intent data) {
List<WeakReference<Activity>> activities = ApplicationStatus.getRunningActivities();
for (WeakReference<Activity> weakActivity : activities) {
Activity activity = weakActivity.get();
- if (activity instanceof FirstRunActivity) {
+ if (activity != null && activity.getLocalClassName().equals(targetActivity)) {
activity.setResult(result, data);
activity.finish();
}
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698