From 3be5b2f9c2ae5d8a5c2fd6c3a0ec1800c278d3a5 Mon Sep 17 00:00:00 2001 From: wangqi Date: Wed, 23 Aug 2017 14:26:40 -0700 Subject: Fix some potential memory leaks. These are detected by Android Studio lint. Bug: 64342472 Test: none PiperOrigin-RevId: 166254633 Change-Id: Ib1daf673ef7139e0e6713e62e5ea07e3747a2d8b --- .../voicemail/impl/SubscriptionInfoHelper.java | 70 ---------------------- .../voicemail/impl/scheduling/TaskExecutor.java | 10 ++-- 2 files changed, 5 insertions(+), 75 deletions(-) delete mode 100644 java/com/android/voicemail/impl/SubscriptionInfoHelper.java (limited to 'java/com/android/voicemail/impl') 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 - * - *

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 - * - *

http://www.apache.org/licenses/LICENSE-2.0 - * - *

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. - * - *

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. - * - *

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 pendingTasks) { VvmLog.i(TAG, "onStartJob"); this.job = job; - tasks.fromBundles(context, pendingTasks); + tasks.fromBundles(appContext, pendingTasks); maybeRunNextTask(); } -- cgit v1.2.3