summaryrefslogtreecommitdiff
path: root/java/com/android
diff options
context:
space:
mode:
authorwangqi <wangqi@google.com>2017-08-23 14:26:40 -0700
committerEric Erfanian <erfanian@google.com>2017-08-30 21:28:40 +0000
commit3be5b2f9c2ae5d8a5c2fd6c3a0ec1800c278d3a5 (patch)
treeed1e7d32d79e2e056b379a7d039b44b50bbfb91d /java/com/android
parent9941f9595c16f1b890578fa4698e93c6af7630e6 (diff)
Fix some potential memory leaks.
These are detected by Android Studio lint. Bug: 64342472 Test: none PiperOrigin-RevId: 166254633 Change-Id: Ib1daf673ef7139e0e6713e62e5ea07e3747a2d8b
Diffstat (limited to 'java/com/android')
-rw-r--r--java/com/android/contacts/common/list/ContactListFilterController.java8
-rw-r--r--java/com/android/voicemail/impl/SubscriptionInfoHelper.java70
-rw-r--r--java/com/android/voicemail/impl/scheduling/TaskExecutor.java10
3 files changed, 9 insertions, 79 deletions
diff --git a/java/com/android/contacts/common/list/ContactListFilterController.java b/java/com/android/contacts/common/list/ContactListFilterController.java
index d2168f3f2..c5c078cb4 100644
--- a/java/com/android/contacts/common/list/ContactListFilterController.java
+++ b/java/com/android/contacts/common/list/ContactListFilterController.java
@@ -75,13 +75,13 @@ public abstract class ContactListFilterController {
*/
class ContactListFilterControllerImpl extends ContactListFilterController {
- private final Context mContext;
+ private final Context mAppContext;
private final List<ContactListFilterListener> mListeners =
new ArrayList<ContactListFilterListener>();
private ContactListFilter mFilter;
public ContactListFilterControllerImpl(Context context) {
- mContext = context;
+ mAppContext = context.getApplicationContext();
mFilter = ContactListFilter.restoreDefaultPreferences(getSharedPreferences());
checkFilterValidity(true /* notify listeners */);
}
@@ -102,7 +102,7 @@ class ContactListFilterControllerImpl extends ContactListFilterController {
}
private SharedPreferences getSharedPreferences() {
- return PreferenceManager.getDefaultSharedPreferences(mContext);
+ return PreferenceManager.getDefaultSharedPreferences(mAppContext);
}
@Override
@@ -162,7 +162,7 @@ class ContactListFilterControllerImpl extends ContactListFilterController {
/** @return true if the Account for the current filter exists. */
private boolean filterAccountExists() {
- final AccountTypeManager accountTypeManager = AccountTypeManager.getInstance(mContext);
+ final AccountTypeManager accountTypeManager = AccountTypeManager.getInstance(mAppContext);
final AccountWithDataSet filterAccount =
new AccountWithDataSet(mFilter.accountName, mFilter.accountType, mFilter.dataSet);
return accountTypeManager.contains(filterAccount, false);
diff --git a/java/com/android/voicemail/impl/SubscriptionInfoHelper.java b/java/com/android/voicemail/impl/SubscriptionInfoHelper.java
deleted file mode 100644
index d8a8423eb..000000000
--- a/java/com/android/voicemail/impl/SubscriptionInfoHelper.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * <p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- * <p>http://www.apache.org/licenses/LICENSE-2.0
- *
- * <p>Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.voicemail.impl;
-
-import android.app.ActionBar;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.text.TextUtils;
-
-/**
- * Helper for manipulating intents or components with subscription-related information.
- *
- * <p>In settings, subscription ids and labels are passed along to indicate that settings are being
- * changed for particular subscriptions. This helper provides functions for helping extract this
- * info and perform common operations using this info.
- */
-public class SubscriptionInfoHelper {
- public static final int NO_SUB_ID = -1;
-
- // Extra on intent containing the id of a subscription.
- public static final String SUB_ID_EXTRA =
- "com.android.voicemailomtp.settings.SubscriptionInfoHelper.SubscriptionId";
- // Extra on intent containing the label of a subscription.
- private static final String SUB_LABEL_EXTRA =
- "com.android.voicemailomtp.settings.SubscriptionInfoHelper.SubscriptionLabel";
-
- private static Context mContext;
-
- private static int mSubId = NO_SUB_ID;
- private static String mSubLabel;
-
- /** Instantiates the helper, by extracting the subscription id and label from the intent. */
- public SubscriptionInfoHelper(Context context, Intent intent) {
- mContext = context;
- mSubId = intent.getIntExtra(SUB_ID_EXTRA, NO_SUB_ID);
- mSubLabel = intent.getStringExtra(SUB_LABEL_EXTRA);
- }
-
- /**
- * Sets the action bar title to the string specified by the given resource id, formatting it with
- * the subscription label. This assumes the resource string is formattable with a string-type
- * specifier.
- *
- * <p>If the subscription label does not exists, leave the existing title.
- */
- public void setActionBarTitle(ActionBar actionBar, Resources res, int resId) {
- if (actionBar == null || TextUtils.isEmpty(mSubLabel)) {
- return;
- }
-
- String title = String.format(res.getString(resId), mSubLabel);
- actionBar.setTitle(title);
- }
-
- public int getSubId() {
- return mSubId;
- }
-}
diff --git a/java/com/android/voicemail/impl/scheduling/TaskExecutor.java b/java/com/android/voicemail/impl/scheduling/TaskExecutor.java
index e3b718e50..afa77c58c 100644
--- a/java/com/android/voicemail/impl/scheduling/TaskExecutor.java
+++ b/java/com/android/voicemail/impl/scheduling/TaskExecutor.java
@@ -129,7 +129,7 @@ final class TaskExecutor {
private final MainThreadHandler mainThreadHandler;
- private final Context context;
+ private final Context appContext;
/** Main thread only, access through {@link #getTasks()} */
private final TaskQueue tasks = new TaskQueue();
@@ -179,7 +179,7 @@ final class TaskExecutor {
VvmLog.i("JobFinishedPoller.run", "Job finished");
if (!getTasks().isEmpty()) {
TaskSchedulerJobService.scheduleJob(
- context, serializePendingTasks(), delayMillis, isNewJob);
+ appContext, serializePendingTasks(), delayMillis, isNewJob);
tasks.clear();
}
terminate();
@@ -259,7 +259,7 @@ final class TaskExecutor {
}
private TaskExecutor(Context context) {
- this.context = context;
+ this.appContext = context.getApplicationContext();
HandlerThread thread = new HandlerThread("VvmTaskExecutor");
thread.start();
@@ -274,7 +274,7 @@ final class TaskExecutor {
job = null;
workerThreadHandler.getLooper().quit();
instance = null;
- TaskReceiver.resendDeferredBroadcasts(context);
+ TaskReceiver.resendDeferredBroadcasts(appContext);
}
@MainThread
@@ -391,7 +391,7 @@ final class TaskExecutor {
public void onStartJob(Job job, List<Bundle> pendingTasks) {
VvmLog.i(TAG, "onStartJob");
this.job = job;
- tasks.fromBundles(context, pendingTasks);
+ tasks.fromBundles(appContext, pendingTasks);
maybeRunNextTask();
}