Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-11-04 20:49:35 +0300
committerStefan Niedermann <info@niedermann.it>2020-11-04 20:49:35 +0300
commit400559de73c827e45ba80f100dadee874530fb13 (patch)
tree742371470c83e90f86ad8f202d21dca62940835e /app/src/main/java/it
parentd847d5ccd477f14d57feff4d96ecc1c6ad08358c (diff)
Display email address for contacts without phone number
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java
index 80f98d30a..32df573bd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java
@@ -9,6 +9,7 @@ import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.provider.ContactsContract;
+import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.ViewGroup;
@@ -22,6 +23,7 @@ import java.util.function.Consumer;
import it.niedermann.nextcloud.deck.databinding.ItemPickerNativeBinding;
import it.niedermann.nextcloud.deck.databinding.ItemPickerUserBinding;
+import static android.provider.ContactsContract.CommonDataKinds.Email.DATA;
import static android.provider.ContactsContract.CommonDataKinds.Phone.LOOKUP_KEY;
import static android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER;
import static android.provider.ContactsContract.Contacts.CONTENT_LOOKUP_URI;
@@ -69,12 +71,21 @@ public class ContactAdapter extends AbstractPickerAdapter<RecyclerView.ViewHolde
final Bitmap thumbnail = BitmapFactory.decodeStream(inputStream);
String contactInformation = "";
final String lookupKey = cursor.getString(columnIndex);
- final Cursor phoneNumberCursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{NUMBER}, LOOKUP_KEY + " = ?", new String[]{lookupKey}, null);
- if (phoneNumberCursor != null) {
- if (phoneNumberCursor.moveToFirst()) {
- contactInformation = phoneNumberCursor.getString(phoneNumberCursor.getColumnIndex(NUMBER));
+ final Cursor phoneCursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{NUMBER}, LOOKUP_KEY + " = ?", new String[]{lookupKey}, null);
+ if (phoneCursor != null) {
+ if (phoneCursor.moveToFirst()) {
+ contactInformation = phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER));
+ }
+ phoneCursor.close();
+ }
+ if (TextUtils.isEmpty(contactInformation)) {
+ final Cursor emailCursor = contentResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, new String[]{DATA}, LOOKUP_KEY + " = ?", new String[]{lookupKey}, null);
+ if (emailCursor != null) {
+ if (emailCursor.moveToFirst()) {
+ contactInformation = emailCursor.getString(emailCursor.getColumnIndex(DATA));
+ }
+ emailCursor.close();
}
- phoneNumberCursor.close();
}
final String finalContactInformation = contactInformation;
new Handler(Looper.getMainLooper()).post(() -> viewHolder.bind(ContentUris.withAppendedId(CONTENT_LOOKUP_URI, id), thumbnail, displayName, finalContactInformation, onSelect));