private static Address[] addressFromStringArray(List<String> addresses) { ArrayList<Address> result = new ArrayList<>(addresses.size()); for (String addressStr : addresses) { Collections.addAll(result, Address.parseUnencoded(addressStr)); } return result.toArray(new Address[result.size()]); }
private void fillContactDataFromCryptoProvider(String query, List<Recipient> recipients, Map<String, Recipient> recipientMap) { Cursor cursor; try { Uri queryUri = Uri.parse("content://" + cryptoProvider + ".provider.exported/autocrypt_status"); cursor = contentResolver.query(queryUri, PROJECTION_CRYPTO_ADDRESSES, null, new String[] { "%" + query + "%" }, null); if (cursor == null) { return; } } catch (SecurityException e) { Timber.e(e, "Couldn't obtain recipients from crypto provider!"); return; } while (cursor.moveToNext()) { String uid = cursor.getString(INDEX_USER_ID); Address[] addresses = Address.parseUnencoded(uid); for (Address address : addresses) { if (recipientMap.containsKey(address.getAddress())) { continue; } Recipient recipient = new Recipient(address); recipients.add(recipient); recipientMap.put(address.getAddress(), recipient); } } cursor.close(); }
for (Address address : Address.parseUnencoded(email)) { String emailAddress = address.getAddress(); if (recipientMap.containsKey(emailAddress)) {