diff options
Diffstat (limited to 'src-ambient/com/android')
-rw-r--r-- | src-ambient/com/android/phone/common/ambient/AmbientDataSubscription.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src-ambient/com/android/phone/common/ambient/AmbientDataSubscription.java b/src-ambient/com/android/phone/common/ambient/AmbientDataSubscription.java index 3b30ccb..4234e77 100644 --- a/src-ambient/com/android/phone/common/ambient/AmbientDataSubscription.java +++ b/src-ambient/com/android/phone/common/ambient/AmbientDataSubscription.java @@ -69,11 +69,16 @@ public abstract class AmbientDataSubscription<M> { @Override public void onResult(Result result) { List<ComponentName> installedPlugins = getPluginComponents(result); - for (ComponentName cn : installedPlugins) { - ArrayList<TypedPendingResult> apiCallbacks = new ArrayList<>(); - getPluginInfo().put(cn, getNewModObject(cn)); - requestedModInfo(apiCallbacks, cn); - executeAll(apiCallbacks, cn); + if (installedPlugins.size() != 0) { + for (ComponentName cn : installedPlugins) { + ArrayList<TypedPendingResult> apiCallbacks = new ArrayList<>(); + getPluginInfo().put(cn, getNewModObject(cn)); + requestedModInfo(apiCallbacks, cn); + executeAll(apiCallbacks, cn); + } + } else { + // We want to tell our subscribers that we have no plugins to worry about + broadcast(); } } |