Merge "Fix summary lifecycle" into nyc-dev

This commit is contained in:
Jason Monk
2016-04-28 14:51:59 +00:00
committed by Android (Google) Code Review

View File

@@ -51,6 +51,7 @@ public class SummaryLoader {
private DashboardAdapter mAdapter; private DashboardAdapter mAdapter;
private boolean mListening; private boolean mListening;
private boolean mWorkerListening;
private ArrayList<BroadcastReceiver> mReceivers = new ArrayList<>(); private ArrayList<BroadcastReceiver> mReceivers = new ArrayList<>();
public SummaryLoader(Activity activity, List<DashboardCategory> categories) { public SummaryLoader(Activity activity, List<DashboardCategory> categories) {
@@ -105,6 +106,7 @@ public class SummaryLoader {
mActivity.unregisterReceiver(mReceivers.get(i)); mActivity.unregisterReceiver(mReceivers.get(i));
} }
mReceivers.clear(); mReceivers.clear();
mWorker.removeMessages(Worker.MSG_SET_LISTENING);
mWorker.obtainMessage(Worker.MSG_SET_LISTENING, listening ? 1 : 0, 0).sendToTarget(); mWorker.obtainMessage(Worker.MSG_SET_LISTENING, listening ? 1 : 0, 0).sendToTarget();
} }
@@ -164,6 +166,8 @@ public class SummaryLoader {
} }
private synchronized void setListeningW(boolean listening) { private synchronized void setListeningW(boolean listening) {
if (mWorkerListening == listening) return;
mWorkerListening = listening;
if (DEBUG) Log.d(TAG, "Listening " + listening); if (DEBUG) Log.d(TAG, "Listening " + listening);
for (SummaryProvider p : mSummaryMap.keySet()) { for (SummaryProvider p : mSummaryMap.keySet()) {
try { try {