summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-06-27 19:53:55 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-06-27 19:53:55 +0000
commit1b4ec7b954ba2d8efae2f383697babe54b795f67 (patch)
tree4c051c4a8702f4256f83f0e55182e27b2ed5b840 /java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
parentcae28c6d5c04a79fb058043ce0c3e043e610309a (diff)
parentd637af51091dc86a197da6520484e10a356a421b (diff)
Merge changes I0f1ed20a,Ia68d3b13,I72047d59,Ieff3c7fb,I53c3896a, ...
* changes: Added method to set Save and Redo buttons enabled/disabled Added logic to setState() method to change state of buttons Update emergency call map and device number UI. Fix SpeedDialUiItem.getDefaultVoiceChannel Fix an AOSP build error caused by version codes Update connection label. Remove redundant version checks and annotations in the assisted dialing package.
Diffstat (limited to 'java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java')
-rw-r--r--java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java b/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
index 9e227553b..4d268f35b 100644
--- a/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
+++ b/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
@@ -263,14 +263,13 @@ public abstract class SpeedDialUiItem {
return defaultChannel();
}
- // Default channel is a video channel, so find it's corresponding voice channel
- Channel prevChannel = channels().get(0);
- for (int i = 1; i < channels().size(); i++) {
- Channel currentChannel = channels().get(i);
- if (currentChannel.equals(defaultChannel())) {
- return prevChannel;
+ // Default channel is a video channel, so find it's corresponding voice channel by number since
+ // unreachable channels may not be in the list
+ for (Channel currentChannel : channels()) {
+ if (currentChannel.number().equals(defaultChannel().number())
+ && currentChannel.technology() == Channel.VOICE) {
+ return currentChannel;
}
- prevChannel = currentChannel;
}
return null;
}
@@ -306,7 +305,8 @@ public abstract class SpeedDialUiItem {
public abstract String photoUri();
/**
- * Since a contact can have multiple phone numbers and each number can have multiple technologies,
+ * Returns a list of channels available. A Duo channel is included iff it is reachable. Since a
+ * contact can have multiple phone numbers and each number can have multiple technologies,
* enumerate each one here so that the user can choose the correct one. Each channel here
* represents a row in the {@link com.android.dialer.speeddial.DisambigDialog}.
*
@@ -330,7 +330,11 @@ public abstract class SpeedDialUiItem {
public abstract ImmutableList<Channel> channels();
/**
- * Will be null when the user hasn't chosen a default yet.
+ * Will be null when the user hasn't chosen a default yet. Note that a default channel may not be
+ * in the list returned by {@link #channels()}. This is because that list does not contain an
+ * unreachable Duo channel. When the default channel is a Duo channel and it becomes unreachable,
+ * it will remain as the default channel but disappear in the list returned by {@link
+ * #channels()}.
*
* @see com.android.dialer.speeddial.database.SpeedDialEntry#defaultChannel()
*/