From 4e8d3013a281e924b02172c90a52e21984f5d8b4 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 3 May 2016 15:24:05 -0400 Subject: [PATCH] Fix leaks Change-Id: Iba29be756934d9564cfdee1f6281c56345772dc7 Fixes: 28074995 --- .../settings/applications/ManageApplications.java | 5 +++-- .../settings/applications/NotificationApps.java | 12 +++++++----- .../settings/dashboard/SuggestionsChecks.java | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index 7936cb96494..572c295f7dd 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -1259,24 +1259,25 @@ public class ManageApplications extends InstrumentedFragment private final SummaryLoader mLoader; // TODO: Can probably hack together with less than full app state. private final ApplicationsState mAppState; - private final ApplicationsState.Session mSession; private final Handler mHandler; + private ApplicationsState.Session mSession; private SummaryProvider(Context context, SummaryLoader loader) { mContext = context; mLoader = loader; mAppState = ApplicationsState.getInstance((Application) context.getApplicationContext()); - mSession = mAppState.newSession(this); mHandler = new Handler(mAppState.getBackgroundLooper()); } @Override public void setListening(boolean listening) { if (listening) { + mSession = mAppState.newSession(this); mSession.resume(); } else { mSession.pause(); + mSession.release(); } } diff --git a/src/com/android/settings/applications/NotificationApps.java b/src/com/android/settings/applications/NotificationApps.java index b599eb6e6aa..fc376524315 100644 --- a/src/com/android/settings/applications/NotificationApps.java +++ b/src/com/android/settings/applications/NotificationApps.java @@ -42,31 +42,33 @@ public class NotificationApps extends ManageApplications { private final SummaryLoader mLoader; private final ApplicationsState mAppState; - private final ApplicationsState.Session mSession; private final NotificationBackend mNotifBackend; - private final AppStateNotificationBridge mExtraInfoBridge; private final Handler mHandler; + private AppStateNotificationBridge mExtraInfoBridge; + private ApplicationsState.Session mSession; private SummaryProvider(Context context, SummaryLoader loader) { mContext = context; mLoader = loader; mAppState = ApplicationsState.getInstance((Application) context.getApplicationContext()); - mSession = mAppState.newSession(this); mNotifBackend = new NotificationBackend(); - mExtraInfoBridge = new AppStateNotificationBridge(mContext, - mAppState, this, mNotifBackend); mHandler = new Handler(mAppState.getBackgroundLooper()); } @Override public void setListening(boolean listening) { if (listening) { + mSession = mAppState.newSession(this); + mExtraInfoBridge = new AppStateNotificationBridge(mContext, + mAppState, this, mNotifBackend); mSession.resume(); mExtraInfoBridge.resume(); } else { mSession.pause(); mExtraInfoBridge.pause(); + mSession.release(); + mExtraInfoBridge.release(); } } diff --git a/src/com/android/settings/dashboard/SuggestionsChecks.java b/src/com/android/settings/dashboard/SuggestionsChecks.java index a2061225eff..0ce82ad84ab 100644 --- a/src/com/android/settings/dashboard/SuggestionsChecks.java +++ b/src/com/android/settings/dashboard/SuggestionsChecks.java @@ -47,7 +47,7 @@ public class SuggestionsChecks { private final Context mContext; public SuggestionsChecks(Context context) { - mContext = context; + mContext = context.getApplicationContext(); } public boolean isSuggestionComplete(Tile suggestion) {