From a8a029f8eb8ca51a19ce20206ce307761cfd86ba Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 3 May 2016 14:25:56 -0400 Subject: [PATCH] Try to fix receiver crash Change-Id: I98fcde7f4595d0bf90bf2a2b8ba96cb96519a008 Fixes: 28554650 --- src/com/android/settings/dashboard/SummaryLoader.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/dashboard/SummaryLoader.java b/src/com/android/settings/dashboard/SummaryLoader.java index f23ad3f7455..778d620e08d 100644 --- a/src/com/android/settings/dashboard/SummaryLoader.java +++ b/src/com/android/settings/dashboard/SummaryLoader.java @@ -26,6 +26,7 @@ import android.os.Looper; import android.os.Message; import android.os.Process; import android.util.ArrayMap; +import android.util.ArraySet; import android.util.Log; import com.android.settings.SettingsActivity; import com.android.settingslib.drawer.DashboardCategory; @@ -52,7 +53,7 @@ public class SummaryLoader { private DashboardAdapter mAdapter; private boolean mListening; private boolean mWorkerListening; - private ArrayList mReceivers = new ArrayList<>(); + private ArraySet mReceivers = new ArraySet<>(); public SummaryLoader(Activity activity, List categories) { mHandler = new Handler(); @@ -103,7 +104,7 @@ public class SummaryLoader { mListening = listening; // Unregister listeners immediately. for (int i = 0; i < mReceivers.size(); i++) { - mActivity.unregisterReceiver(mReceivers.get(i)); + mActivity.unregisterReceiver(mReceivers.valueAt(i)); } mReceivers.clear(); mWorker.removeMessages(Worker.MSG_SET_LISTENING);