summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/speeddial/FavoritesViewHolder.java
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2017-12-14 00:51:11 -0800
committerCopybara-Service <copybara-piper@google.com>2017-12-14 00:53:08 -0800
commit529bf0f551afa5d7a17d6806e86110f4fe9e100b (patch)
tree33e7c36e33a81c560a74a3f20c96a38a9d3e5255 /java/com/android/dialer/speeddial/FavoritesViewHolder.java
parent888733af75fd738dd1b503ab8a77c5eb3212d575 (diff)
Implemented disambig dialog for new speed dial fragment.
This change implements the logic to build the disambig dialog and display the relevant information. Future CLs will: - Implement the logic for favoriting a communication avenue - Polish the UI Bug: 36841782 Test: DisambigDialogTest PiperOrigin-RevId: 179012593 Change-Id: I4294f4ae2a475b1e560eabd424e54a829c0d7829
Diffstat (limited to 'java/com/android/dialer/speeddial/FavoritesViewHolder.java')
-rw-r--r--java/com/android/dialer/speeddial/FavoritesViewHolder.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/java/com/android/dialer/speeddial/FavoritesViewHolder.java b/java/com/android/dialer/speeddial/FavoritesViewHolder.java
index 0cde71693..c25b05ead 100644
--- a/java/com/android/dialer/speeddial/FavoritesViewHolder.java
+++ b/java/com/android/dialer/speeddial/FavoritesViewHolder.java
@@ -45,8 +45,10 @@ public class FavoritesViewHolder extends RecyclerView.ViewHolder
private final TextView phoneType;
private final FrameLayout videoCallIcon;
+ private boolean hasDefaultNumber;
private boolean isVideoCall;
private String number;
+ private String lookupKey;
public FavoritesViewHolder(View view, FavoriteContactsListener listener) {
super(view);
@@ -67,7 +69,7 @@ public class FavoritesViewHolder extends RecyclerView.ViewHolder
String name = cursor.getString(StrequentContactsCursorLoader.PHONE_DISPLAY_NAME);
long contactId = cursor.getLong(StrequentContactsCursorLoader.PHONE_ID);
- String lookupKey = cursor.getString(StrequentContactsCursorLoader.PHONE_LOOKUP_KEY);
+ lookupKey = cursor.getString(StrequentContactsCursorLoader.PHONE_LOOKUP_KEY);
Uri contactUri = Contacts.getLookupUri(contactId, lookupKey);
String photoUri = cursor.getString(StrequentContactsCursorLoader.PHONE_PHOTO_URI);
@@ -82,6 +84,9 @@ public class FavoritesViewHolder extends RecyclerView.ViewHolder
nameView.setText(name);
phoneType.setText(getLabel(context.getResources(), cursor));
videoCallIcon.setVisibility(isVideoCall ? View.VISIBLE : View.GONE);
+
+ // TODO(calderwoodra): Update this to include communication avenues also
+ hasDefaultNumber = cursor.getInt(StrequentContactsCursorLoader.PHONE_IS_SUPER_PRIMARY) != 0;
}
// TODO(calderwoodra): handle CNAP and cequint types.
@@ -99,7 +104,11 @@ public class FavoritesViewHolder extends RecyclerView.ViewHolder
@Override
public void onClick(View v) {
- listener.onClick(number, isVideoCall);
+ if (hasDefaultNumber) {
+ listener.onClick(number, isVideoCall);
+ } else {
+ listener.onAmbiguousContactClicked(lookupKey);
+ }
}
@Override
@@ -112,6 +121,9 @@ public class FavoritesViewHolder extends RecyclerView.ViewHolder
/** Listener/callback for {@link FavoritesViewHolder} actions. */
public interface FavoriteContactsListener {
+ /** Called when the user clicks on a favorite contact that doesn't have a default number. */
+ void onAmbiguousContactClicked(String contactId);
+
/** Called when the user clicks on a favorite contact. */
void onClick(String number, boolean isVideoCall);