diff options
author | calderwoodra <calderwoodra@google.com> | 2018-05-02 12:33:06 -0700 |
---|---|---|
committer | Weijia Xu <weijiaxu@google.com> | 2018-05-04 06:15:45 +0000 |
commit | d22ef290c45701ef65d9d0e004a64c683c8c2788 (patch) | |
tree | e7a3a892e171451b8ca891b0291340e46fc448e4 /java/com/android/dialer/speeddial/loader | |
parent | 9c70e4ca34c2f3f0c5d48b549602603eed7a6c2e (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.java | 21 |
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; } |