From b08c0a9d88efa9d4835f50fa3dd91d46286d798f Mon Sep 17 00:00:00 2001 From: Yorke Lee Date: Fri, 24 Apr 2015 17:16:06 -0700 Subject: Allow dialing SIP calls directly from search Bug: 20554942 Change-Id: I27a120ec17aaacfce1ec9d0bbab7adf15e95afaf --- src/com/android/dialer/list/RegularSearchListAdapter.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/com/android/dialer/list/RegularSearchListAdapter.java b/src/com/android/dialer/list/RegularSearchListAdapter.java index 3c55bc012..75c89e13f 100644 --- a/src/com/android/dialer/list/RegularSearchListAdapter.java +++ b/src/com/android/dialer/list/RegularSearchListAdapter.java @@ -22,6 +22,7 @@ import android.text.TextUtils; import com.android.contacts.common.CallUtil; import com.android.contacts.common.list.DirectoryPartition; +import com.android.contacts.common.util.PhoneNumberHelper; import com.android.dialer.calllog.ContactInfo; import com.android.dialer.service.CachedNumberLookupService; import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo; @@ -30,6 +31,7 @@ import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo; * List adapter to display regular search results. */ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter { + private boolean mIsQuerySipAddress; public RegularSearchListAdapter(Context context) { super(context); @@ -66,11 +68,22 @@ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter { return cacheInfo; } + @Override + public String getFormattedQueryString() { + if (mIsQuerySipAddress) { + // Return unnormalized SIP address + return getQueryString(); + } + return super.getFormattedQueryString(); + } + @Override public void setQueryString(String queryString) { final boolean showNumberShortcuts = !TextUtils.isEmpty(getFormattedQueryString()); + mIsQuerySipAddress = PhoneNumberHelper.isUriNumber(queryString); boolean changed = false; - changed |= setShortcutEnabled(SHORTCUT_DIRECT_CALL, showNumberShortcuts); + changed |= setShortcutEnabled(SHORTCUT_DIRECT_CALL, + showNumberShortcuts || mIsQuerySipAddress); changed |= setShortcutEnabled(SHORTCUT_SEND_SMS_MESSAGE, showNumberShortcuts); changed |= setShortcutEnabled(SHORTCUT_MAKE_VIDEO_CALL, showNumberShortcuts && CallUtil.isVideoEnabled(getContext())); -- cgit v1.2.3