summaryrefslogtreecommitdiff
path: root/InCallUI/src/com/android/incallui/CallCardPresenter.java
diff options
context:
space:
mode:
Diffstat (limited to 'InCallUI/src/com/android/incallui/CallCardPresenter.java')
-rw-r--r--InCallUI/src/com/android/incallui/CallCardPresenter.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index dd255e09e..bf7b4769b 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -337,7 +337,7 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
getUi().setEndCallButtonEnabled(shouldShowEndCallButton(mPrimary, callState),
callState != Call.State.INCOMING /* animate */);
- maybeSendAccessibilityEvent(oldState, newState);
+ maybeSendAccessibilityEvent(oldState, newState, primaryChanged);
}
@Override
@@ -1062,7 +1062,8 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
return true;
}
- private void maybeSendAccessibilityEvent(InCallState oldState, InCallState newState) {
+ private void maybeSendAccessibilityEvent(InCallState oldState, InCallState newState,
+ boolean primaryChanged) {
if (mContext == null) {
return;
}
@@ -1071,8 +1072,11 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
if (!am.isEnabled()) {
return;
}
+ // Announce the current call if it's new incoming/outgoing call or primary call is changed
+ // due to switching calls between two ongoing calls (one is on hold).
if ((oldState != InCallState.OUTGOING && newState == InCallState.OUTGOING)
- || (oldState != InCallState.INCOMING && newState == InCallState.INCOMING)) {
+ || (oldState != InCallState.INCOMING && newState == InCallState.INCOMING)
+ || primaryChanged) {
if (getUi() != null) {
getUi().sendAccessibilityAnnouncement();
}