diff options
author | Tyler Gunn <tgunn@google.com> | 2016-05-10 08:39:54 -0700 |
---|---|---|
committer | Tyler Gunn <tgunn@google.com> | 2016-05-10 08:39:54 -0700 |
commit | ebef6b94037a2a028635a5371f3d8e0f97c7d206 (patch) | |
tree | fe55e8c6ae1b5065f9bb06d5a97fca51f225743f /InCallUI/src/com | |
parent | 8b25d786674f95034dfcdfff09ea16f8e3869311 (diff) |
Cleanup of video pause button.
The "pause video" button had a few issues that needed to be cleaned up:
1. The accessibility text for the button was always "pause video".
I've changed this so that it says, "Turn on camera" or "Turn off camera"
to better indicate what pushing the button will do.
2. When the user accepts an incoming request to initiate a 1-way video
call, the button state would not be correct (the user's camera is
disabled, but the button would not reflect that).
Bug: 27944419
Bug: 28550284
Change-Id: I2594971ec21b5714ca2d750894a93b758f7a80e5
Diffstat (limited to 'InCallUI/src/com')
3 files changed, 24 insertions, 9 deletions
diff --git a/InCallUI/src/com/android/incallui/CallButtonFragment.java b/InCallUI/src/com/android/incallui/CallButtonFragment.java index 5a25b6a7b..6b633eaf3 100644 --- a/InCallUI/src/com/android/incallui/CallButtonFragment.java +++ b/InCallUI/src/com/android/incallui/CallButtonFragment.java @@ -65,7 +65,6 @@ public class CallButtonFragment implements CallButtonPresenter.CallButtonUi, OnMenuItemClickListener, OnDismissListener, View.OnClickListener { - private static final int INVALID_INDEX = -1; private int mButtonMaxVisible; // The button is currently visible in the UI private static final int BUTTON_VISIBLE = 1; @@ -182,7 +181,7 @@ public class CallButtonFragment super.onActivityCreated(savedInstanceState); // set the buttons - updateAudioButtons(getPresenter().getSupportedAudio()); + updateAudioButtons(); } @Override @@ -425,8 +424,14 @@ public class CallButtonFragment } @Override - public void setVideoPaused(boolean isPaused) { - mPauseVideoButton.setSelected(isPaused); + public void setVideoPaused(boolean isVideoPaused) { + mPauseVideoButton.setSelected(isVideoPaused); + + if (isVideoPaused) { + mPauseVideoButton.setContentDescription(getText(R.string.onscreenTurnOnCameraText)); + } else { + mPauseVideoButton.setContentDescription(getText(R.string.onscreenTurnOffCameraText)); + } } @Override @@ -505,7 +510,7 @@ public class CallButtonFragment @Override public void setAudio(int mode) { - updateAudioButtons(getPresenter().getSupportedAudio()); + updateAudioButtons(); refreshAudioModePopup(); if (mPrevAudioMode != mode) { @@ -516,7 +521,7 @@ public class CallButtonFragment @Override public void setSupportedAudio(int modeMask) { - updateAudioButtons(modeMask); + updateAudioButtons(); refreshAudioModePopup(); } @@ -555,7 +560,7 @@ public class CallButtonFragment public void onDismiss(PopupMenu menu) { Log.d(this, "- onDismiss: " + menu); mAudioModePopupVisible = false; - updateAudioButtons(getPresenter().getSupportedAudio()); + updateAudioButtons(); } /** @@ -600,7 +605,7 @@ public class CallButtonFragment * Updates the audio button so that the appriopriate visual layers * are visible based on the supported audio formats. */ - private void updateAudioButtons(int supportedModes) { + private void updateAudioButtons() { final boolean bluetoothSupported = isSupported(CallAudioState.ROUTE_BLUETOOTH); final boolean speakerSupported = isSupported(CallAudioState.ROUTE_SPEAKER); diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java index e8c2d4b13..df1cd6645 100644 --- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java +++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java @@ -366,7 +366,6 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto private void updateButtonsState(Call call) { Log.v(this, "updateButtonsState"); final CallButtonUi ui = getUi(); - final boolean isVideo = VideoUtils.isVideoCall(call); // Common functionality (audio, hold, etc). @@ -398,6 +397,9 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto ui.showButton(BUTTON_DOWNGRADE_TO_AUDIO, showDowngradeToAudio); ui.showButton(BUTTON_SWITCH_CAMERA, isVideo); ui.showButton(BUTTON_PAUSE_VIDEO, isVideo); + if (isVideo) { + getUi().setVideoPaused(!VideoUtils.isTransmissionEnabled(call)); + } ui.showButton(BUTTON_DIALPAD, true); ui.showButton(BUTTON_MERGE, showMerge); diff --git a/InCallUI/src/com/android/incallui/VideoUtils.java b/InCallUI/src/com/android/incallui/VideoUtils.java index 8641d60ec..a2eb8bcf2 100644 --- a/InCallUI/src/com/android/incallui/VideoUtils.java +++ b/InCallUI/src/com/android/incallui/VideoUtils.java @@ -45,6 +45,14 @@ public class VideoUtils { return VideoProfile.isBidirectional(call.getVideoState()); } + public static boolean isTransmissionEnabled(Call call) { + if (!CompatUtils.isVideoCompatible()) { + return false; + } + + return VideoProfile.isTransmissionEnabled(call.getVideoState()); + } + public static boolean isIncomingVideoCall(Call call) { if (!VideoUtils.isVideoCall(call)) { return false; |