Merge "SearchView on Join"
diff --git a/res/layout/call_detail.xml b/res/layout/call_detail.xml
index 13124f2..7498f5a 100644
--- a/res/layout/call_detail.xml
+++ b/res/layout/call_detail.xml
@@ -162,16 +162,22 @@
<TextView android:id="@+id/call_and_sms_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingRight="@dimen/call_log_icon_margin"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?attr/call_log_primary_text_color"
+ android:singleLine="true"
+ android:ellipsize="end"
/>
<TextView android:id="@+id/call_and_sms_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingRight="@dimen/call_log_icon_margin"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/call_log_primary_text_color"
android:textAllCaps="true"
+ android:singleLine="true"
+ android:ellipsize="end"
/>
</LinearLayout>
diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml
index 777c7af..4040c28 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -69,18 +69,38 @@
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
android:textColor="?attr/call_log_primary_text_color"
android:textSize="18sp"
android:singleLine="true"
/>
- <TextView
- android:id="@+id/number"
+ <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="?attr/call_log_secondary_text_color"
- android:textSize="14sp"
- android:singleLine="true"
- />
+ android:orientation="horizontal"
+ >
+ <TextView
+ android:id="@+id/number"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textSize="14sp"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ />
+ <TextView
+ android:id="@+id/label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textStyle="bold"
+ android:textSize="14sp"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ />
+ </LinearLayout>
<LinearLayout
android:id="@+id/call_type"
android:layout_width="wrap_content"
@@ -99,6 +119,7 @@
android:id="@+id/call_count_and_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
android:layout_gravity="center_vertical"
android:textColor="?attr/call_log_secondary_text_color"
android:textSize="14sp"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 225c9fe..ed916e6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -100,8 +100,8 @@
<!-- Menu item used to view the details for a specific contact -->
<string name="menu_viewContact">View contact</string>
- <!-- Menu item used to call a contact, containing the name of the contact to call -->
- <string name="menu_callNumber">Call <xliff:g id="name">%s</xliff:g></string>
+ <!-- Menu item used to call a contact, containing the number of the contact to call -->
+ <string name="menu_callNumber">Call <xliff:g id="number">%s</xliff:g></string>
<!-- Menu item used to add a star to a contact, which makes that contact show up at the top of favorites -->
<string name="menu_addStar">Add to favorites</string>
diff --git a/src/com/android/contacts/CallDetailActivity.java b/src/com/android/contacts/CallDetailActivity.java
index caa8bce..6224d19 100644
--- a/src/com/android/contacts/CallDetailActivity.java
+++ b/src/com/android/contacts/CallDetailActivity.java
@@ -22,6 +22,7 @@
import com.android.contacts.calllog.ContactInfo;
import com.android.contacts.calllog.ContactInfoHelper;
import com.android.contacts.calllog.PhoneNumberHelper;
+import com.android.contacts.format.FormatUtils;
import com.android.contacts.util.AsyncTaskExecutor;
import com.android.contacts.util.AsyncTaskExecutors;
import com.android.contacts.voicemail.VoicemailPlaybackFragment;
@@ -469,7 +470,8 @@
firstDetails.number, firstDetails.formattedNumber);
ViewEntry entry = new ViewEntry(
- getString(R.string.menu_callNumber, displayNumber),
+ getString(R.string.menu_callNumber,
+ FormatUtils.forceLeftToRight(displayNumber)),
new Intent(Intent.ACTION_CALL_PRIVILEGED, numberCallUri),
getString(R.string.description_call, nameOrNumber));
diff --git a/src/com/android/contacts/PhoneCallDetailsHelper.java b/src/com/android/contacts/PhoneCallDetailsHelper.java
index 2d75c26..60dfb7b 100644
--- a/src/com/android/contacts/PhoneCallDetailsHelper.java
+++ b/src/com/android/contacts/PhoneCallDetailsHelper.java
@@ -18,7 +18,6 @@
import com.android.contacts.calllog.CallTypeHelper;
import com.android.contacts.calllog.PhoneNumberHelper;
-import com.android.contacts.format.FormatUtils;
import android.content.res.Resources;
import android.graphics.Typeface;
@@ -103,6 +102,7 @@
final CharSequence nameText;
final CharSequence numberText;
+ final CharSequence labelText;
final CharSequence displayNumber =
mPhoneNumberHelper.getDisplayNumber(details.number, details.formattedNumber);
if (TextUtils.isEmpty(details.name)) {
@@ -113,20 +113,17 @@
} else {
numberText = details.geocode;
}
+ labelText = null;
} else {
nameText = details.name;
- if (numberFormattedLabel != null) {
- numberText = FormatUtils.applyStyleToSpan(Typeface.BOLD,
- numberFormattedLabel + " " + displayNumber, 0,
- numberFormattedLabel.length(),
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- } else {
- numberText = displayNumber;
- }
+ numberText = displayNumber;
+ labelText = numberFormattedLabel;
}
views.nameView.setText(nameText);
views.numberView.setText(numberText);
+ views.labelView.setText(labelText);
+ views.labelView.setVisibility(TextUtils.isEmpty(labelText) ? View.GONE : View.VISIBLE);
}
/** Sets the text of the header view for the details page of a phone call. */
diff --git a/src/com/android/contacts/PhoneCallDetailsViews.java b/src/com/android/contacts/PhoneCallDetailsViews.java
index fa06879..ea5a461 100644
--- a/src/com/android/contacts/PhoneCallDetailsViews.java
+++ b/src/com/android/contacts/PhoneCallDetailsViews.java
@@ -31,14 +31,17 @@
public final CallTypeIconsView callTypeIcons;
public final TextView callTypeAndDate;
public final TextView numberView;
+ public final TextView labelView;
private PhoneCallDetailsViews(TextView nameView, View callTypeView,
- CallTypeIconsView callTypeIcons, TextView callTypeAndDate, TextView numberView) {
+ CallTypeIconsView callTypeIcons, TextView callTypeAndDate, TextView numberView,
+ TextView labelView) {
this.nameView = nameView;
this.callTypeView = callTypeView;
this.callTypeIcons = callTypeIcons;
this.callTypeAndDate = callTypeAndDate;
this.numberView = numberView;
+ this.labelView = labelView;
}
/**
@@ -53,7 +56,8 @@
view.findViewById(R.id.call_type),
(CallTypeIconsView) view.findViewById(R.id.call_type_icons),
(TextView) view.findViewById(R.id.call_count_and_date),
- (TextView) view.findViewById(R.id.number));
+ (TextView) view.findViewById(R.id.number),
+ (TextView) view.findViewById(R.id.label));
}
public static PhoneCallDetailsViews createForTest(Context context) {
@@ -62,6 +66,7 @@
new View(context),
new CallTypeIconsView(context),
new TextView(context),
+ new TextView(context),
new TextView(context));
}
}
diff --git a/src/com/android/contacts/calllog/CallLogAdapter.java b/src/com/android/contacts/calllog/CallLogAdapter.java
index ea282fc..99ba8e8 100644
--- a/src/com/android/contacts/calllog/CallLogAdapter.java
+++ b/src/com/android/contacts/calllog/CallLogAdapter.java
@@ -650,9 +650,15 @@
return;
}
- mContext.getContentResolver().update(Calls.CONTENT_URI_WITH_VOICEMAIL, values,
- Calls.NUMBER + " = ? AND " + Calls.COUNTRY_ISO + " = ?",
- new String[]{ number, countryIso });
+ if (countryIso == null) {
+ mContext.getContentResolver().update(Calls.CONTENT_URI_WITH_VOICEMAIL, values,
+ Calls.NUMBER + " = ? AND " + Calls.COUNTRY_ISO + " IS NULL",
+ new String[]{ number });
+ } else {
+ mContext.getContentResolver().update(Calls.CONTENT_URI_WITH_VOICEMAIL, values,
+ Calls.NUMBER + " = ? AND " + Calls.COUNTRY_ISO + " = ?",
+ new String[]{ number, countryIso });
+ }
}
/** Returns the contact information as stored in the call log. */
diff --git a/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java b/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java
index c5e8f91..59dfcd4 100644
--- a/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java
+++ b/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java
@@ -90,8 +90,13 @@
// TODO: Move this into a service, to avoid holding the receiver up.
final NewCall[] newCalls = mNewCallsQuery.query();
+ if (newCalls == null) {
+ // Query failed, just return.
+ return;
+ }
+
if (newCalls.length == 0) {
- Log.e(TAG, "No voicemails to notify about: clear the notification.");
+ // No voicemails to notify about: clear the notification.
clearNotification();
return;
}
@@ -243,6 +248,9 @@
try {
cursor = mContentResolver.query(Calls.CONTENT_URI_WITH_VOICEMAIL, PROJECTION,
selection, selectionArgs, Calls.DEFAULT_SORT_ORDER);
+ if (cursor == null) {
+ return null;
+ }
NewCall[] newCalls = new NewCall[cursor.getCount()];
while (cursor.moveToNext()) {
newCalls[cursor.getPosition()] = createNewCallsFromCursor(cursor);
@@ -301,7 +309,7 @@
cursor = mContentResolver.query(
Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)),
PROJECTION, null, null, null);
- if (!cursor.moveToFirst()) return null;
+ if (cursor == null || !cursor.moveToFirst()) return null;
return cursor.getString(DISPLAY_NAME_COLUMN_INDEX);
} finally {
if (cursor != null) {
diff --git a/src/com/android/contacts/format/FormatUtils.java b/src/com/android/contacts/format/FormatUtils.java
index 4b076cf..82bf78d 100644
--- a/src/com/android/contacts/format/FormatUtils.java
+++ b/src/com/android/contacts/format/FormatUtils.java
@@ -28,6 +28,8 @@
* Assorted utility methods related to text formatting in Contacts.
*/
public class FormatUtils {
+ private static final char LEFT_TO_RIGHT_EMBEDDING = '\u202A';
+ private static final char POP_DIRECTIONAL_FORMATTING = '\u202C';
/**
* Finds the earliest point in buffer1 at which the first part of buffer2 matches. For example,
@@ -180,4 +182,13 @@
return -1;
}
+
+ /** Returns the given text, forced to be left-to-right. */
+ public static CharSequence forceLeftToRight(CharSequence text) {
+ StringBuilder sb = new StringBuilder();
+ sb.append(LEFT_TO_RIGHT_EMBEDDING);
+ sb.append(text);
+ sb.append(POP_DIRECTIONAL_FORMATTING);
+ return sb.toString();
+ }
}
diff --git a/tests/src/com/android/contacts/activities/PeopleActivityTest.java b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
index 66c2c5a..ea7c3dc 100644
--- a/tests/src/com/android/contacts/activities/PeopleActivityTest.java
+++ b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
@@ -48,7 +48,7 @@
import android.provider.ContactsContract.ProviderStatus;
import android.provider.Settings;
import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.Smoke;
+import android.test.suitebuilder.annotation.SmallTest;
import android.widget.TextView;
/**
@@ -64,7 +64,7 @@
* -w com.android.contacts.tests/android.test.InstrumentationTestRunner
*
*/
-@Smoke
+@SmallTest
public class PeopleActivityTest
extends ActivityInstrumentationTestCase2<PeopleActivity>
{
diff --git a/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java b/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
index 9cac8fe..89c0a99 100644
--- a/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
+++ b/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
@@ -619,14 +619,14 @@
/** Asserts that the number and label text view contains the given text. */
private void assertNumberAndLabelAre(CallLogListItemViews views, CharSequence number,
- CharSequence numberLabel) {
+ CharSequence label) {
assertEquals(View.VISIBLE, views.phoneCallDetailsViews.numberView.getVisibility());
- final CharSequence expectedText;
- if (numberLabel == null) {
- expectedText = number;
- } else {
- expectedText = numberLabel + " " + number;
+ assertEquals(number, views.phoneCallDetailsViews.numberView.getText().toString());
+
+ assertEquals(label == null ? View.GONE : View.VISIBLE,
+ views.phoneCallDetailsViews.labelView.getVisibility());
+ if (label != null) {
+ assertEquals(label, views.phoneCallDetailsViews.labelView.getText().toString());
}
- assertEquals(expectedText, views.phoneCallDetailsViews.numberView.getText().toString());
}
}
diff --git a/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java b/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
index 19b14d9..131af96 100644
--- a/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
+++ b/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
@@ -21,6 +21,7 @@
import com.google.common.collect.Lists;
import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
import android.view.View;
import java.util.ArrayList;
@@ -33,6 +34,7 @@
/**
* Unit tests for {@link StreamItemAdapter}.
*/
+@SmallTest
public class StreamItemAdapterTest extends AndroidTestCase {
private StreamItemAdapter mAdapter;
private FakeOnClickListener mListener;
diff --git a/tests/src/com/android/contacts/format/PrefixHighligherTest.java b/tests/src/com/android/contacts/format/PrefixHighligherTest.java
index a0c0ff3..668330b 100644
--- a/tests/src/com/android/contacts/format/PrefixHighligherTest.java
+++ b/tests/src/com/android/contacts/format/PrefixHighligherTest.java
@@ -17,11 +17,13 @@
package com.android.contacts.format;
import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
import android.widget.TextView;
/**
* Unit tests for {@link PrefixHighlighter}.
*/
+@SmallTest
public class PrefixHighligherTest extends AndroidTestCase {
private static final int TEST_PREFIX_HIGHLIGHT_COLOR = 0xFF0000;
/** The HTML code used to mark the start of the highlighted part. */
diff --git a/tests/src/com/android/contacts/format/SpannedTestUtils.java b/tests/src/com/android/contacts/format/SpannedTestUtils.java
index 625c6aa..646a7ec 100644
--- a/tests/src/com/android/contacts/format/SpannedTestUtils.java
+++ b/tests/src/com/android/contacts/format/SpannedTestUtils.java
@@ -16,6 +16,7 @@
package com.android.contacts.format;
+import android.test.suitebuilder.annotation.SmallTest;
import android.text.Html;
import android.text.Spanned;
import android.text.TextUtils;
@@ -26,6 +27,7 @@
/**
* Utility class to check the value of spanned text in text views.
*/
+@SmallTest
public class SpannedTestUtils {
/**
* Checks that the text contained in the text view matches the given HTML text.
diff --git a/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java b/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
index f2848d0..2deaef3 100644
--- a/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
+++ b/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
@@ -21,10 +21,12 @@
import android.database.CharArrayBuffer;
import android.graphics.Typeface;
+import android.test.suitebuilder.annotation.SmallTest;
import android.text.SpannableStringBuilder;
import android.text.style.StyleSpan;
/** A factory for {@link TextWithHighlighting} that wraps its parts in italics. */
+@SmallTest
public final class TestTextWithHighlightingFactory implements TextWithHighlightingFactory {
/** A {@link TextWithHighlighting} implementation that wraps its parts in italics. */
private final static class TestTextWithHighlighting extends SpannableStringBuilder
diff --git a/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java b/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
index 2c4b74c..b37d24f 100644
--- a/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
+++ b/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
@@ -35,7 +35,7 @@
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Contacts.Entity;
import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.Smoke;
+import android.test.suitebuilder.annotation.SmallTest;
/**
* Tests for {@link ContactDeletionInteraction}.
@@ -47,7 +47,7 @@
* adb shell am instrument \
* -w com.android.contacts.tests/android.test.InstrumentationTestRunner
*/
-@Smoke
+@SmallTest
public class ContactDeletionInteractionTest
extends ActivityInstrumentationTestCase2<FragmentTestActivity> {
diff --git a/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java b/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
index e0b443a..9490b1b 100644
--- a/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
+++ b/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
@@ -29,11 +29,12 @@
import android.net.Uri;
import android.os.AsyncTask;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.SipAddress;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.Smoke;
+import android.test.suitebuilder.annotation.SmallTest;
import java.util.ArrayList;
import java.util.List;
@@ -48,7 +49,7 @@
* adb shell am instrument \
* -w com.android.contacts.tests/android.test.InstrumentationTestRunner
*/
-@Smoke
+@SmallTest
public class PhoneNumberInteractionTest extends InstrumentationTestCase {
static {
@@ -89,7 +90,8 @@
public void testSendSmsWhenOnlyOneNumberAvailable() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null);
+ .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.SMS, null);
@@ -107,7 +109,8 @@
public void testSendSmsWhenDataIdIsProvided() {
Uri dataUri = ContentUris.withAppendedId(Data.CONTENT_URI, 1);
expectQuery(dataUri, true /* isDataUri */ )
- .returnRow(1, "987", 0, null, null, Phone.TYPE_HOME, null);
+ .returnRow(1, "987", 0, null, null, Phone.TYPE_HOME, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.SMS, null);
@@ -125,8 +128,10 @@
public void testSendSmsWhenThereIsPrimaryNumber() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null)
- .returnRow(2, "456", 1, null, null, Phone.TYPE_HOME, null);
+ .returnRow(
+ 1, "123", 0, null, null, Phone.TYPE_HOME, null, Phone.CONTENT_ITEM_TYPE)
+ .returnRow(
+ 2, "456", 1, null, null, Phone.TYPE_HOME, null, Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.SMS, null);
@@ -164,8 +169,10 @@
public void testCallNumberWhenThereAreDuplicates() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null)
- .returnRow(2, "123", 0, null, null, Phone.TYPE_WORK, null);
+ .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null,
+ Phone.CONTENT_ITEM_TYPE)
+ .returnRow(2, "123", 0, null, null, Phone.TYPE_WORK, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.PHONE_CALL, null);
@@ -180,11 +187,31 @@
assertEquals("tel:123", intent.getDataString());
}
+ public void testCallWithSip() {
+ Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
+ expectQuery(contactUri)
+ .returnRow(1, "example@example.com", 0, null, null, Phone.TYPE_HOME, null,
+ SipAddress.CONTENT_ITEM_TYPE);
+ TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
+ mContext, InteractionType.PHONE_CALL, null);
+
+ interaction.startInteraction(contactUri);
+ interaction.getLoader().waitForLoader();
+
+ Intent intent = mContext.getIntentForStartActivity();
+ assertNotNull(intent);
+
+ assertEquals(Intent.ACTION_CALL_PRIVILEGED, intent.getAction());
+ assertEquals("tel:example%40example.com", intent.getDataString());
+ }
+
public void testShowDisambigDialogForCalling() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, "account", null, Phone.TYPE_HOME, "label")
- .returnRow(2, "456", 0, null, null, Phone.TYPE_WORK, null);
+ .returnRow(1, "123", 0, "account", null, Phone.TYPE_HOME, "label",
+ Phone.CONTENT_ITEM_TYPE)
+ .returnRow(2, "456", 0, null, null, Phone.TYPE_WORK, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.PHONE_CALL, null);
@@ -224,7 +251,9 @@
RawContacts.ACCOUNT_TYPE,
RawContacts.DATA_SET,
Phone.TYPE,
- Phone.LABEL)
- .withSelection("mimetype='vnd.android.cursor.item/phone_v2' AND data1 NOT NULL");
+ Phone.LABEL,
+ Phone.MIMETYPE)
+ .withSelection("mimetype IN ('vnd.android.cursor.item/phone_v2',"
+ + " 'vnd.android.cursor.item/sip_address') AND data1 NOT NULL");
}
}