From db86a7f9f1ac816af085f544d7cb3ca968ccdb84 Mon Sep 17 00:00:00 2001 From: Stephen Bird Date: Mon, 6 Jul 2015 14:44:34 -0700 Subject: Badge: Check count on bind Fixes bug where badges would not show up after changing languages and other similar situations. Also, stop registering so many receivers when one will do. Change-Id: Id85dbadbc0f99c77493b5817097567ceb365912e --- src/com/android/launcher3/Launcher.java | 1 + src/com/android/launcher3/LauncherAppState.java | 8 -------- src/com/android/launcher3/LauncherModel.java | 6 +++++- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 75e151c4b..8c9c45150 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -5222,6 +5222,7 @@ public class Launcher extends Activity if (mWorkspace.isInOverviewMode()) { mWorkspace.resetOverviewMode(); } + mModel.updateCount(); } private void sendLoadingCompleteBroadcastIfNecessary() { diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java index a207f1e2c..67a5bc3bf 100644 --- a/src/com/android/launcher3/LauncherAppState.java +++ b/src/com/android/launcher3/LauncherAppState.java @@ -107,18 +107,10 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks { IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_LOCALE_CHANGED); filter.addAction(Intent.ACTION_CONFIGURATION_CHANGED); - sContext.registerReceiver(mModel, filter); - filter = new IntentFilter(); filter.addAction(SearchManager.INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED); - sContext.registerReceiver(mModel, filter); - - filter = new IntentFilter(); if (LauncherApplication.LAUNCHER_SHOW_UNREAD_NUMBER) { filter.addAction(LauncherModel.ACTION_UNREAD_CHANGED); - sContext.registerReceiver(mModel, filter); } - - filter = new IntentFilter(); filter.addAction(SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED); sContext.registerReceiver(mModel, filter); diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index fbacc3937..c24e546c3 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -236,7 +236,6 @@ public class LauncherModel extends BroadcastReceiver ArrayList unreadInfos = new ArrayList(); synchronized (unreadChangedMap) { unreadInfos.addAll(unreadChangedMap.values()); - unreadChangedMap.clear(); } Context context = mApp.getContext(); @@ -1430,6 +1429,11 @@ public class LauncherModel extends BroadcastReceiver } } + public void updateCount() { + sWorker.removeCallbacks(mUnreadUpdateTask); + sWorker.post(mUnreadUpdateTask); + } + void forceReload() { resetLoadedState(true, true); -- cgit v1.2.3