public Collection<ContactData> getContactsWithPush(Context context) { final ContentResolver resolver = context.getContentResolver(); final String[] inProjection = new String[]{PhoneLookup._ID, PhoneLookup.DISPLAY_NAME}; List<String> pushNumbers = TextSecureDirectory.getInstance(context).getActiveNumbers(); final Collection<ContactData> lookupData = new ArrayList<>(pushNumbers.size()); for (String pushNumber : pushNumbers) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(pushNumber)); Cursor lookupCursor = resolver.query(uri, inProjection, null, null, null); try { if (lookupCursor != null && lookupCursor.moveToFirst()) { final ContactData contactData = new ContactData(lookupCursor.getLong(0), lookupCursor.getString(1)); contactData.numbers.add(new NumberData("XecureChat", pushNumber)); lookupData.add(contactData); } } finally { if (lookupCursor != null) lookupCursor.close(); } } return lookupData; }
public boolean isSystemContact(Context context, String number) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); String[] projection = new String[]{PhoneLookup.DISPLAY_NAME, PhoneLookup.LOOKUP_KEY, PhoneLookup._ID, PhoneLookup.NUMBER}; Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null); try { if (cursor != null && cursor.moveToFirst()) { return true; } } finally { if (cursor != null) cursor.close(); } return false; }
private Uri getContactUriForNumber(String number) { String[] PROJECTION = new String[] { PhoneLookup.DISPLAY_NAME, PhoneLookup.LOOKUP_KEY, PhoneLookup._ID, }; Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); Cursor cursor = null; try { cursor = context.getContentResolver().query(uri, PROJECTION, null, null, null); if (cursor != null && cursor.moveToFirst()) { return Contacts.getLookupUri(cursor.getLong(2), cursor.getString(1)); } } finally { if (cursor != null) cursor.close(); } return null; }
@SuppressLint("NewApi") @Override public Uri getSelfIdentityUri() { String[] PROJECTION = new String[] { PhoneLookup.DISPLAY_NAME, PhoneLookup.LOOKUP_KEY, PhoneLookup._ID, }; Cursor cursor = null; try { cursor = context.getContentResolver().query(ContactsContract.Profile.CONTENT_URI, PROJECTION, null, null, null); if (cursor != null && cursor.moveToFirst()) { return Contacts.getLookupUri(cursor.getLong(2), cursor.getString(1)); } } finally { if (cursor != null) cursor.close(); } return null; }
@Override public void onClick(View v) { // If contact has been assigned, mExtras should no longer be null, but do a null check // anyway just in case assignContactFromPhone or Email was called with a null bundle or // wasn't assigned previously. final Bundle extras = (mExtras == null) ? new Bundle() : mExtras; if (mContactUri != null) { QuickContact.showQuickContact(getContext(), ContactBadge.this, mContactUri, QuickContact.MODE_LARGE, mExcludeMimes); } else if (mContactEmail != null && mQueryHandler != null) { extras.putString(Constants.EXTRA_URI_CONTENT, mContactEmail); mQueryHandler.startQuery(Constants.TOKEN_EMAIL_LOOKUP_AND_TRIGGER, extras, Uri.withAppendedPath(Email.CONTENT_LOOKUP_URI, Uri.encode(mContactEmail)), EMAIL_LOOKUP_PROJECTION, null, null, null, mContactQueryHandlerCallback); } else if (mContactPhone != null && mQueryHandler != null) { extras.putString(Constants.EXTRA_URI_CONTENT, mContactPhone); mQueryHandler.startQuery(Constants.TOKEN_PHONE_LOOKUP_AND_TRIGGER, extras, Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, mContactPhone), PHONE_LOOKUP_PROJECTION, null, null, null, mContactQueryHandlerCallback); } else { // If a contact hasn't been assigned, don't react to click. return; } }
public Collection<ContactData> getContactsWithPush(Context context) { final ContentResolver resolver = context.getContentResolver(); final String[] inProjection = new String[]{PhoneLookup._ID, PhoneLookup.DISPLAY_NAME}; List<String> pushNumbers = TextSecureDirectory.getInstance(context).getActiveNumbers(); final Collection<ContactData> lookupData = new ArrayList<>(pushNumbers.size()); for (String pushNumber : pushNumbers) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(pushNumber)); Cursor lookupCursor = resolver.query(uri, inProjection, null, null, null); try { if (lookupCursor != null && lookupCursor.moveToFirst()) { final ContactData contactData = new ContactData(lookupCursor.getLong(0), lookupCursor.getString(1)); contactData.numbers.add(new NumberData("TextSecure", pushNumber)); lookupData.add(contactData); } } finally { if (lookupCursor != null) lookupCursor.close(); } } return lookupData; }
public Collection<ContactData> getContactsWithPush(Context context) { final ContentResolver resolver = context.getContentResolver(); final String[] inProjection = new String[]{PhoneLookup._ID, PhoneLookup.DISPLAY_NAME}; List<String> pushNumbers = TextSecureDirectory.getInstance(context).getActiveNumbers(); final Collection<ContactData> lookupData = new ArrayList<ContactData>(pushNumbers.size()); for (String pushNumber : pushNumbers) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(pushNumber)); Cursor lookupCursor = resolver.query(uri, inProjection, null, null, null); try { if (lookupCursor != null && lookupCursor.moveToFirst()) { final ContactData contactData = new ContactData(lookupCursor.getLong(0), lookupCursor.getString(1)); contactData.numbers.add(new NumberData("TextSecure", pushNumber)); lookupData.add(contactData); } } finally { if (lookupCursor != null) lookupCursor.close(); } } return lookupData; }
private RecipientDetails getRecipientDetails(Context context, String number) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); Cursor cursor = context.getContentResolver().query(uri, CALLER_ID_PROJECTION, null, null, null); try { if (cursor != null && cursor.moveToFirst()) { Uri contactUri = Contacts.getLookupUri(cursor.getLong(2), cursor.getString(1)); Bitmap contactPhoto = ContactPhotoFactory.getContactPhoto(context, Uri.withAppendedPath(Contacts.CONTENT_URI, cursor.getLong(2)+"")); return new RecipientDetails(cursor.getString(0), cursor.getString(3), contactUri, contactPhoto, BitmapUtil.getCircleCroppedBitmap(contactPhoto)); } } finally { if (cursor != null) cursor.close(); } return null; }
private RecipientDetails getRecipientDetails(Context context, String number) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); Cursor cursor = context.getContentResolver().query(uri, CALLER_ID_PROJECTION, null, null, null); try { if (cursor != null && cursor.moveToFirst()) { Uri contactUri = Contacts.getLookupUri(cursor.getLong(2), cursor.getString(1)); String name = cursor.getString(3).equals(cursor.getString(0)) ? null : cursor.getString(0); Drawable contactPhoto = ContactPhotoFactory.getContactPhoto(context, Uri.withAppendedPath(Contacts.CONTENT_URI, cursor.getLong(2) + ""), name); return new RecipientDetails(cursor.getString(0), cursor.getString(3), contactUri, contactPhoto); } } finally { if (cursor != null) cursor.close(); } return new RecipientDetails(null, number, null, ContactPhotoFactory.getDefaultContactPhoto(context, null)); }
public static String getContactId(String phoneNumber, Context context) { ContentResolver mResolver = context.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = mResolver.query(uri, new String[] { PhoneLookup.DISPLAY_NAME, PhoneLookup._ID }, null, null, null); String contactId = ""; if (cursor.moveToFirst()) { do { contactId = cursor.getString(cursor .getColumnIndex(PhoneLookup._ID)); } while (cursor.moveToNext()); } cursor.close(); cursor = null; return contactId; }
public static String getContactName(String phoneNumber, Context context) { ContentResolver mResolver = context.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = mResolver.query(uri, new String[] { PhoneLookup.DISPLAY_NAME, PhoneLookup._ID }, null, null, null); String contactId = ""; if (cursor.moveToFirst()) { do { contactId = cursor.getString(cursor .getColumnIndex(PhoneLookup.DISPLAY_NAME)); } while (cursor.moveToNext()); } cursor.close(); cursor = null; return contactId; }
public static String getContactName(Context context, String phoneNumber) { ContentResolver cr = context.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = cr.query(uri, new String[] { PhoneLookup.DISPLAY_NAME }, null, null, null); if (cursor == null) { return null; } String contactName = null; if (cursor.moveToFirst()) { contactName = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME)); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } return contactName; }
public static String getContactName(Context context, String phoneNumber) { if (phoneNumber == null || phoneNumber.length() == 0) return phoneNumber; ContentResolver cr = context.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = cr.query(uri, new String[] { PhoneLookup.DISPLAY_NAME }, null, null, null); if (cursor == null) { return null; } String contactName = null; if (cursor.moveToFirst()) { contactName = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME)); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } return contactName; }
public String getContactName(String phoneNumber) { ContentResolver cr = this.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = cr.query(uri, new String[] {PhoneLookup.DISPLAY_NAME}, null, null, null); if(cursor == null) { return null; } String contactName = null; if(cursor.moveToFirst()) { contactName = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME)); } if(cursor != null && !cursor.isClosed()) { cursor.close(); } return contactName; }
public static String getContactName(Context ctx, String phoneNumber) { final ContentResolver cr = ctx.getContentResolver(); final Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = null; String contactName = phoneNumber; try { cursor = cr.query(uri, new String[] { PhoneLookup.DISPLAY_NAME }, null, null, null); if (cursor == null) { return null; } if (cursor.moveToFirst()) { contactName = cursor.getString(cursor .getColumnIndex(PhoneLookup.DISPLAY_NAME)); } } finally { if (cursor != null && !cursor.isClosed()) { cursor.close(); } } return contactName; }
public Collection<ContactData> getContactsWithPush(Context context) { final ContentResolver resolver = context.getContentResolver(); final String[] inProjection = new String[]{PhoneLookup._ID, PhoneLookup.DISPLAY_NAME}; List<String> pushNumbers = Directory.getInstance(context).getActiveNumbers(); final Collection<ContactData> lookupData = new ArrayList<ContactData>(pushNumbers.size()); for (String pushNumber : pushNumbers) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(pushNumber)); Cursor lookupCursor = resolver.query(uri, inProjection, null, null, null); try { if (lookupCursor != null && lookupCursor.moveToFirst()) { final ContactData contactData = new ContactData(lookupCursor.getLong(0), lookupCursor.getString(1)); contactData.numbers.add(new NumberData("TextSecure", pushNumber)); lookupData.add(contactData); } } finally { if (lookupCursor != null) lookupCursor.close(); } } return lookupData; }
public void setTitle(String sender) { Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(sender)); Log.d(TAG, "uri: " + uri); Cursor c = AppLinkApplication.getApplication().getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME}, null, null, null); if (c != null) { while (c.moveToNext()) { title = c.getString(0); } } else { title = sender; } if (title == null) { title = sender; } Log.d(TAG, "Msg title: " + getTitle()); }
/** * Deletes the specified contact. * * @param number * The number of the contact that is to be deleted. * @return true if the contact was deleted successfully, false if the * contact could not be deleted. */ private boolean deleteContact(String number) { Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); Cursor cur = getContentResolver().query(contactUri, null, null, null, null); try { if (cur.moveToFirst()) { do { String lookupKey = cur .getString(cur .getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)); Uri uri = Uri.withAppendedPath( ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey); getContentResolver().delete(uri, null, null); return true; } while (cur.moveToNext()); } } catch (Exception e) { System.out.println(e.getStackTrace()); } return false; }
public boolean contactExists(Context context, String number) { // / number is the phone number Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); String[] mPhoneNumberProjection = { PhoneLookup._ID, PhoneLookup.NUMBER, PhoneLookup.DISPLAY_NAME }; Cursor cur = context.getContentResolver().query(lookupUri, mPhoneNumberProjection, null, null, null); try { if (cur.moveToFirst()) { return true; } } finally { if (cur != null) cur.close(); } return false; }
/** * Returns the ID of the number passed as a parameter. * * @param contactNumber * The number whose ID is to be returned. * @return String The ID of the contact. Returns null if contact is not * saved in the phone. */ public String getId(String contactNumber) { String contactId = null; ContentResolver contentResolver = context.getContentResolver(); Uri uri = Uri.withAppendedPath( ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(contactNumber)); String[] projection = new String[] { ContactsContract.Contacts.DISPLAY_NAME, PhoneLookup._ID }; Cursor cursor = contentResolver .query(uri, projection, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { contactId = cursor.getString(cursor .getColumnIndexOrThrow(PhoneLookup._ID)); break; } cursor.close(); } return contactId; }
public static String getContactName(Context context, String phoneNumber) { ContentResolver cr = context.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = cr.query(uri, new String[]{PhoneLookup.DISPLAY_NAME}, null, null, null); if (cursor == null) { return null; } String contactName = null; if(cursor.moveToFirst()) { contactName = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME)); } if(cursor != null && !cursor.isClosed()) { cursor.close(); } return contactName; }
private String contactNameByPhoneNumber(String phoneNumber) { ContentResolver cr = c.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = cr.query(uri, new String[]{PhoneLookup.DISPLAY_NAME}, null, null, null); if (cursor == null) return null; String contactName = null; if(cursor.moveToFirst()) contactName = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME)); if(cursor != null && !cursor.isClosed()) cursor.close(); return contactName; }
private String getAuthorName(final String phoneNumber) { ContentResolver cr = ctx.getContentResolver(); Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); Cursor cursor = cr.query(uri, new String[]{PhoneLookup.DISPLAY_NAME}, null, null, null); if (cursor == null) { return phoneNumber; } String contactName = null; if(cursor.moveToFirst()) { contactName = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME)); } if(cursor != null && !cursor.isClosed()) { cursor.close(); } if ( contactName == null ) { contactName = phoneNumber; } return contactName; }
public static Contact getContactFromPhoneNumber(String phoneNumber, Context context) { Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); final String[] contactProjection = new String[] {PhoneLookup._ID, PhoneLookup.DISPLAY_NAME}; Cursor c = context.getContentResolver().query(contactUri, contactProjection, null, null, null); Contact contact = new Contact(phoneNumber, phoneNumber); try { if (c.moveToFirst()) { long id = c.getLong(c.getColumnIndex(PhoneLookup._ID)); String name = c.getString(c.getColumnIndex(PhoneLookup.DISPLAY_NAME)); contact = new Contact(id, phoneNumber, name); } } catch (Exception e) { Log.d(TAG, "Unable to retrieve contact with phone number " + phoneNumber); } finally { c.close(); } return contact; }