From 8132b34bbf67cf224f254dfb313ee621a52997b4 Mon Sep 17 00:00:00 2001 From: Anthony Restaino Date: Wed, 24 Feb 2016 19:18:05 -0500 Subject: [PATCH] Fixed potential memory leak, moved variables --- .../java/acr/browser/lightning/activity/TabsManager.java | 8 ++++++-- .../acr/browser/lightning/browser/BrowserPresenter.java | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) 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) {