diff options
Diffstat (limited to 'InCallUI/src/com/android/incallui/CallCardPresenter.java')
-rw-r--r-- | InCallUI/src/com/android/incallui/CallCardPresenter.java | 10 |
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 8c22f92e1..0be9b1227 100644 --- a/InCallUI/src/com/android/incallui/CallCardPresenter.java +++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java @@ -335,7 +335,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 @@ -1070,7 +1070,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; } @@ -1079,8 +1080,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(); } |