summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/speeddial/loader
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-05-02 12:33:06 -0700
committerWeijia Xu <weijiaxu@google.com>2018-05-04 06:15:45 +0000
commitd22ef290c45701ef65d9d0e004a64c683c8c2788 (patch)
treee7a3a892e171451b8ca891b0291340e46fc448e4 /java/com/android/dialer/speeddial/loader
parent9c70e4ca34c2f3f0c5d48b549602603eed7a6c2e (diff)
Migrated context menu to be a PopupMenu instead.
This gives us huge amounts of functionality with very little technical cost but some trade off in UX. Bug: 77761183,78492250 Test: existing PiperOrigin-RevId: 195133774 Change-Id: I57e48b5defc4ae1c7bfbed13e3fbc16ebd607944
Diffstat (limited to 'java/com/android/dialer/speeddial/loader')
-rw-r--r--java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java b/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
index 325af238a..f730d12a0 100644
--- a/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
+++ b/java/com/android/dialer/speeddial/loader/SpeedDialUiItem.java
@@ -222,16 +222,29 @@ public abstract class SpeedDialUiItem {
*/
@Nullable
public Channel getDefaultVoiceChannel() {
- if (defaultChannel() != null && !defaultChannel().isVideoTechnology()) {
- return defaultChannel();
- }
-
if (channels().size() == 1) {
// If there is only a single channel, it must be a voice channel as per our defined
// assumptions (detailed in comments on method channels()).
return channels().get(0);
}
+ if (defaultChannel() == null) {
+ return null;
+ }
+
+ if (!defaultChannel().isVideoTechnology()) {
+ 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;
+ }
+ prevChannel = currentChannel;
+ }
return null;
}