| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
| index 445f69bf0c3a3ffc314f9e1427a938fa42983361..5f2749c02211638b11ec085e4294246f3c50e889 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
| @@ -67,6 +67,7 @@ public class RecentTabsManager implements AndroidSyncSettingsObserver, SignInSta
|
| private SigninManager mSignInManager;
|
| private UpdatedCallback mUpdatedCallback;
|
| private ProfileDataCache mProfileDataCache;
|
| + private boolean mIsDestroyed;
|
|
|
| /**
|
| * Create an RecentTabsManager to be used with RecentTabsPage and RecentTabsRowAdapter.
|
| @@ -98,6 +99,7 @@ public class RecentTabsManager implements AndroidSyncSettingsObserver, SignInSta
|
| * Should be called when this object is no longer needed. Performs necessary listener tear down.
|
| */
|
| public void destroy() {
|
| + mIsDestroyed = true;
|
| AndroidSyncSettings.unregisterObserver(mContext, this);
|
|
|
| mSignInManager.removeSignInStateObserver(this);
|
| @@ -125,6 +127,13 @@ public class RecentTabsManager implements AndroidSyncSettingsObserver, SignInSta
|
| InvalidationController.get(mContext).onRecentTabsPageClosed();
|
| }
|
|
|
| + /**
|
| + * Returns true if destroy() has been called.
|
| + */
|
| + public boolean isDestroyed() {
|
| + return mIsDestroyed;
|
| + }
|
| +
|
| private static ForeignSessionHelper buildForeignSessionHelper(Profile profile) {
|
| return new ForeignSessionHelper(profile);
|
| }
|
| @@ -420,6 +429,7 @@ public class RecentTabsManager implements AndroidSyncSettingsObserver, SignInSta
|
| ThreadUtils.runOnUiThread(new Runnable() {
|
| @Override
|
| public void run() {
|
| + if (mIsDestroyed) return;
|
| updateForeignSessions();
|
| postUpdate();
|
| for (AndroidSyncSettingsObserver observer : mObservers) {
|
|
|