diff --git a/app/src/main/java/acr/browser/lightning/activity/TabsManager.java b/app/src/main/java/acr/browser/lightning/activity/TabsManager.java index 5a602b6..121c935 100644 --- a/app/src/main/java/acr/browser/lightning/activity/TabsManager.java +++ b/app/src/main/java/acr/browser/lightning/activity/TabsManager.java @@ -47,6 +47,9 @@ public class TabsManager { @Nullable private LightningView mCurrentTab; @Nullable private TabNumberChangedListener mTabNumberListener; + private boolean mIsInitialized = false; + private List mPostInitializationWorkList = new ArrayList<>(); + @Inject PreferenceManager mPreferenceManager; @Inject Bus mEventBus; @Inject Application mApp; @@ -64,8 +67,9 @@ public class TabsManager { mTabNumberListener = listener; } - private boolean mIsInitialized = false; - private List mPostInitializationWorkList = new ArrayList<>(); + public void cancelPendingWork() { + mPostInitializationWorkList.clear(); + } public void doAfterInitialization(@NonNull Runnable runnable) { if (mIsInitialized) { diff --git a/app/src/main/java/acr/browser/lightning/browser/BrowserPresenter.java b/app/src/main/java/acr/browser/lightning/browser/BrowserPresenter.java index 17f9f74..7c17d2a 100644 --- a/app/src/main/java/acr/browser/lightning/browser/BrowserPresenter.java +++ b/app/src/main/java/acr/browser/lightning/browser/BrowserPresenter.java @@ -216,6 +216,7 @@ public class BrowserPresenter { public void shutdown() { onTabChanged(null); mTabsModel.setTabNumberChangedListener(null); + mTabsModel.cancelPendingWork(); } public void tabChanged(int position) {