summaryrefslogtreecommitdiffstats
path: root/src/com/android/contacts/incall/InCallPluginUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/contacts/incall/InCallPluginUtils.java')
-rw-r--r--src/com/android/contacts/incall/InCallPluginUtils.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/com/android/contacts/incall/InCallPluginUtils.java b/src/com/android/contacts/incall/InCallPluginUtils.java
index bb0e71fed..29e162ddf 100644
--- a/src/com/android/contacts/incall/InCallPluginUtils.java
+++ b/src/com/android/contacts/incall/InCallPluginUtils.java
@@ -16,6 +16,7 @@
package com.android.contacts.incall;
+import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.ContentUris;
import android.content.ContentValues;
@@ -39,9 +40,14 @@ import com.android.contacts.common.util.DataStatus;
import com.android.contacts.common.util.UriUtils;
import com.android.phone.common.incall.CallMethodInfo;
import com.android.phone.common.incall.ContactsDataSubscription;
+import com.android.phone.common.incall.api.InCallQueries;
import com.android.phone.common.incall.utils.CallMethodFilters;
+import com.cyanogen.ambient.common.api.AmbientApiClient;
+import com.cyanogen.ambient.common.api.Result;
+import com.cyanogen.ambient.common.api.ResultCallback;
import com.cyanogen.ambient.incall.extension.InCallContactInfo;
+import com.cyanogen.ambient.incall.results.PendingIntentResult;
import com.cyngn.uicommon.view.Snackbar;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -228,4 +234,30 @@ public class InCallPluginUtils {
}
return pluginMap;
}
+
+ public static void startDirectoryDefaultSearch(final Context context, AmbientApiClient client,
+ final ComponentName componentName) {
+
+ InCallQueries.getDefaultDirectorySearchIntent(client, componentName).setResultCallback(
+ new ResultCallback() {
+ @Override
+ public void onResult(Result result) {
+ PendingIntentResult pendingIntentResult = (PendingIntentResult) result;
+ if (pendingIntentResult == null) {
+ Log.d(TAG, "directory search null");
+ return;
+ }
+ try {
+ if (pendingIntentResult.intent != null) {
+ pendingIntentResult.intent.send();
+ InCallMetricsHelper.increaseCount(context,
+ InCallMetricsHelper.Events.DIRECTORY_SEARCH,
+ componentName.flattenToString());
+ }
+ } catch (PendingIntent.CanceledException e) {
+ Log.d(TAG, "directory search exception: ", e);
+ }
+ }
+ });
+ }
}