diff options
author | Erica Chang <echang@cyngn.com> | 2016-05-03 18:22:15 -0700 |
---|---|---|
committer | Erica Chang <echang@cyngn.com> | 2016-05-09 13:29:59 -0700 |
commit | 486d1a65c0a588d461b37717bb990d7b65b40439 (patch) | |
tree | 7d0b8373631f163a4aa809ba06ac6ac6cf9a346e | |
parent | 539a2dd4782779a4cb2efd1e5a8272fcb3504ee5 (diff) | |
download | packages_apps_PhoneCommon-486d1a65c0a588d461b37717bb990d7b65b40439.tar.gz packages_apps_PhoneCommon-486d1a65c0a588d461b37717bb990d7b65b40439.tar.bz2 packages_apps_PhoneCommon-486d1a65c0a588d461b37717bb990d7b65b40439.zip |
DynamicRefresh should only refresh ENABLED plugins
-added accountHandle query to ContactsDataSubscription
CD-616
Change-Id: I2042453826990579e15b5305cf1282cbb0f9a445
(cherry picked from commit 9047ee984e447c28e181487e98094257fda5c25c)
-rw-r--r-- | src-ambient/com/android/phone/common/incall/ContactsDataSubscription.java | 13 | ||||
-rw-r--r-- | src-ambient/com/android/phone/common/incall/DialerDataSubscription.java | 14 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src-ambient/com/android/phone/common/incall/ContactsDataSubscription.java b/src-ambient/com/android/phone/common/incall/ContactsDataSubscription.java index e93a72c..d0c17e8 100644 --- a/src-ambient/com/android/phone/common/incall/ContactsDataSubscription.java +++ b/src-ambient/com/android/phone/common/incall/ContactsDataSubscription.java @@ -32,6 +32,7 @@ import com.cyanogen.ambient.common.api.ResultCallback; import com.cyanogen.ambient.discovery.util.NudgeKey; import com.cyanogen.ambient.incall.extension.InCallContactInfo; import com.cyanogen.ambient.incall.results.PendingIntentResult; +import com.cyanogen.ambient.plugin.PluginStatus; import java.util.ArrayList; import java.util.HashMap; @@ -70,8 +71,15 @@ public class ContactsDataSubscription extends DialerDataSubscription { @Override public void onDynamicRefreshRequested(ArrayList<TypedPendingResult> queries, ComponentName componentName) { - queries.add(InCallQueries.getCallMethodAuthenticated(mClient, componentName)); - queries.add(InCallQueries.getCallMethodAccountHandle(mClient, componentName)); + HashMap<ComponentName, CallMethodInfo> plugins = this.getPluginInfo(); + if (plugins.containsKey(componentName)) { + CallMethodInfo cmi = plugins.get(componentName); + // only need to refresh plugins that exist and are ENABLED + if (cmi != null && cmi.mStatus == PluginStatus.ENABLED) { + queries.add(InCallQueries.getCallMethodAuthenticated(mClient, componentName)); + queries.add(InCallQueries.getCallMethodAccountHandle(mClient, componentName)); + } + } } @Override @@ -93,6 +101,7 @@ public class ContactsDataSubscription extends DialerDataSubscription { queries.add(InCallQueries.getCallMethodMimeType(mClient, componentName)); queries.add(InCallQueries.getCallMethodVideoCallableMimeType(mClient, componentName)); queries.add(InCallQueries.getCallMethodAuthenticated(mClient, componentName)); + queries.add(InCallQueries.getCallMethodAccountHandle(mClient, componentName)); queries.add(InCallQueries.getLoginIntent(mClient, componentName)); queries.add(InCallQueries.getDefaultDirectorySearchIntent(mClient, componentName)); queries.add(InCallQueries.getCallMethodImMimeType(mClient, componentName)); diff --git a/src-ambient/com/android/phone/common/incall/DialerDataSubscription.java b/src-ambient/com/android/phone/common/incall/DialerDataSubscription.java index d4b6071..5fd4a23 100644 --- a/src-ambient/com/android/phone/common/incall/DialerDataSubscription.java +++ b/src-ambient/com/android/phone/common/incall/DialerDataSubscription.java @@ -40,8 +40,10 @@ import com.cyanogen.ambient.incall.results.MimeTypeResult; import com.cyanogen.ambient.incall.results.PendingIntentResult; import com.cyanogen.ambient.incall.results.PluginStatusResult; import com.android.phone.common.ambient.AmbientDataSubscription; +import com.cyanogen.ambient.plugin.PluginStatus; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import static com.cyanogen.ambient.incall.util.InCallHelper.NO_COLOR; @@ -129,9 +131,15 @@ public class DialerDataSubscription extends AmbientDataSubscription<CallMethodIn @Override protected void onDynamicRefreshRequested(ArrayList<TypedPendingResult> queries, ComponentName componentName) { - - queries.add(InCallQueries.getCallMethodAuthenticated(mClient, componentName)); - queries.add(InCallQueries.getCreditInfo(mClient, componentName)); + HashMap<ComponentName, CallMethodInfo> plugins = this.getPluginInfo(); + if (plugins.containsKey(componentName)) { + CallMethodInfo cmi = plugins.get(componentName); + // only need to refresh plugins that exist and are ENABLED + if (cmi != null && cmi.mStatus == PluginStatus.ENABLED) { + queries.add(InCallQueries.getCallMethodAuthenticated(mClient, componentName)); + queries.add(InCallQueries.getCreditInfo(mClient, componentName)); + } + } } @Override |