diff options
author | Andrew Lee <anwlee@google.com> | 2014-10-18 00:17:33 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-10-18 00:17:34 +0000 |
commit | c3defe5b62cab2f17fe58b3b6e55cf5800a8f584 (patch) | |
tree | c2ae3d2c5419e5595148574b506b7dc647e678a0 | |
parent | ab2d04f6e7991b72b1a7c815a168e35aad1d4a41 (diff) | |
parent | 0e30633fea9ee6487144fc0b38b993c7cee4153d (diff) | |
download | packages_apps_InCallUI-c3defe5b62cab2f17fe58b3b6e55cf5800a8f584.tar.gz packages_apps_InCallUI-c3defe5b62cab2f17fe58b3b6e55cf5800a8f584.tar.bz2 packages_apps_InCallUI-c3defe5b62cab2f17fe58b3b6e55cf5800a8f584.zip |
Merge "Update UI based on MANAGE_CONFERENCE capability." into lmp-mr1-dev
-rw-r--r-- | src/com/android/incallui/CallCardPresenter.java | 5 | ||||
-rw-r--r-- | src/com/android/incallui/ConferenceManagerPresenter.java | 20 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/com/android/incallui/CallCardPresenter.java b/src/com/android/incallui/CallCardPresenter.java index f4568ef6..ac85019b 100644 --- a/src/com/android/incallui/CallCardPresenter.java +++ b/src/com/android/incallui/CallCardPresenter.java @@ -264,6 +264,11 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> @Override public void onDetailsChanged(Call call, android.telecom.Call.Details details) { updatePrimaryCallState(); + + if (call.can(PhoneCapabilities.MANAGE_CONFERENCE) != PhoneCapabilities.can( + details.getCallCapabilities(), PhoneCapabilities.MANAGE_CONFERENCE)) { + maybeShowManageConferenceCallButton(); + } } private String getSubscriptionNumber() { diff --git a/src/com/android/incallui/ConferenceManagerPresenter.java b/src/com/android/incallui/ConferenceManagerPresenter.java index 555048da..f754fdec 100644 --- a/src/com/android/incallui/ConferenceManagerPresenter.java +++ b/src/com/android/incallui/ConferenceManagerPresenter.java @@ -81,16 +81,20 @@ public class ConferenceManagerPresenter boolean canSeparate = PhoneCapabilities.can( details.getCallCapabilities(), PhoneCapabilities.SEPARATE_FROM_CONFERENCE); - if (call.can(PhoneCapabilities.DISCONNECT_FROM_CONFERENCE) == canDisconnect - && call.can(PhoneCapabilities.SEPARATE_FROM_CONFERENCE) == canSeparate) { - return; + if (call.can(PhoneCapabilities.DISCONNECT_FROM_CONFERENCE) != canDisconnect + || call.can(PhoneCapabilities.SEPARATE_FROM_CONFERENCE) != canSeparate) { + for (int i = 0; i < mCallerIds.length; i++) { + if (mCallerIds[i] == call.getId()) { + getUi().updateSeparateButtonForRow(i, canSeparate); + getUi().updateEndButtonForRow(i, canDisconnect); + break; + } + } } - for (int i = 0; i < mCallerIds.length; i++) { - if (mCallerIds[i] == call.getId()) { - getUi().updateSeparateButtonForRow(i, canSeparate); - getUi().updateEndButtonForRow(i, canDisconnect); - } + if (!PhoneCapabilities.can( + details.getCallCapabilities(), PhoneCapabilities.MANAGE_CONFERENCE)) { + getUi().setVisible(false); } } |