Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcbc531b authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 20663

* changes:
  Update getNumberFromIntent() to read from both providers.
parents ad2eaf20 f28ca902
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.database.Cursor;
import android.net.Uri;
import android.os.SystemProperties;
import android.provider.Contacts;
import android.provider.ContactsContract;
import android.text.Editable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
@@ -129,15 +130,23 @@ public class PhoneNumberUtils
        }

        String type = intent.resolveType(context);
        String phoneColumn = null;

        Cursor c = context.getContentResolver().query(
                uri, new String[]{ Contacts.People.Phones.NUMBER },
                null, null, null);
        // Correctly read out the phone entry based on requested provider
        final String authority = uri.getAuthority();
        if (Contacts.AUTHORITY.equals(authority)) {
            phoneColumn = Contacts.People.Phones.NUMBER;
        } else if (ContactsContract.AUTHORITY.equals(authority)) {
            phoneColumn = ContactsContract.CommonDataKinds.Phone.NUMBER;
        }

        final Cursor c = context.getContentResolver().query(uri, new String[] {
            phoneColumn
        }, null, null, null);
        if (c != null) {
            try {
                if (c.moveToFirst()) {
                    number = c.getString(
                            c.getColumnIndex(Contacts.People.Phones.NUMBER));
                    number = c.getString(c.getColumnIndex(phoneColumn));
                }
            } finally {
                c.close();