| Index: base/android/java/src/org/chromium/base/ApplicationStatus.java
|
| diff --git a/base/android/java/src/org/chromium/base/ApplicationStatus.java b/base/android/java/src/org/chromium/base/ApplicationStatus.java
|
| index 37af12d5d779afbd6817949ea8b8278f4e7ce171..d1bd2fb59212c814e20efda98c8113000b98ffa8 100644
|
| --- a/base/android/java/src/org/chromium/base/ApplicationStatus.java
|
| +++ b/base/android/java/src/org/chromium/base/ApplicationStatus.java
|
| @@ -195,6 +195,13 @@ public class ApplicationStatus {
|
| ActivityInfo info = sActivityInfo.get(activity);
|
| info.setStatus(newState);
|
|
|
| + // Remove before calling listeners so that isEveryActivityDestroyed() returns false when
|
| + // this was the last activity.
|
| + if (newState == ActivityState.DESTROYED) {
|
| + sActivityInfo.remove(activity);
|
| + if (activity == sActivity) sActivity = null;
|
| + }
|
| +
|
| // Notify all state observers that are specifically listening to this activity.
|
| for (ActivityStateListener listener : info.getListeners()) {
|
| listener.onActivityStateChange(activity, newState);
|
| @@ -212,11 +219,6 @@ public class ApplicationStatus {
|
| listener.onApplicationStateChange(applicationState);
|
| }
|
| }
|
| -
|
| - if (newState == ActivityState.DESTROYED) {
|
| - sActivityInfo.remove(activity);
|
| - if (activity == sActivity) sActivity = null;
|
| - }
|
| }
|
|
|
| /**
|
|
|