diff options
Diffstat (limited to 'java/com/android/incallui/incall/impl/ButtonController.java')
-rw-r--r-- | java/com/android/incallui/incall/impl/ButtonController.java | 39 |
1 files changed, 9 insertions, 30 deletions
diff --git a/java/com/android/incallui/incall/impl/ButtonController.java b/java/com/android/incallui/incall/impl/ButtonController.java index 8c113649d..b7a47f08e 100644 --- a/java/com/android/incallui/incall/impl/ButtonController.java +++ b/java/com/android/incallui/incall/impl/ButtonController.java @@ -29,6 +29,8 @@ import com.android.incallui.incall.impl.CheckableLabeledButton.OnCheckedChangeLi import com.android.incallui.incall.protocol.InCallButtonIds; import com.android.incallui.incall.protocol.InCallButtonUiDelegate; import com.android.incallui.incall.protocol.InCallScreenDelegate; +import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo; +import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize; /** Manages a single button. */ interface ButtonController { @@ -376,36 +378,13 @@ interface ButtonController { } public void setAudioState(CallAudioState audioState) { - @StringRes int contentDescriptionResId; - if ((audioState.getSupportedRouteMask() & CallAudioState.ROUTE_BLUETOOTH) - == CallAudioState.ROUTE_BLUETOOTH) { - checkable = false; - isChecked = false; - label = R.string.incall_label_audio; - - if ((audioState.getRoute() & CallAudioState.ROUTE_BLUETOOTH) - == CallAudioState.ROUTE_BLUETOOTH) { - icon = R.drawable.quantum_ic_bluetooth_audio_white_36; - contentDescriptionResId = R.string.incall_content_description_bluetooth; - } else if ((audioState.getRoute() & CallAudioState.ROUTE_SPEAKER) - == CallAudioState.ROUTE_SPEAKER) { - icon = R.drawable.quantum_ic_volume_up_white_36; - contentDescriptionResId = R.string.incall_content_description_speaker; - } else if ((audioState.getRoute() & CallAudioState.ROUTE_WIRED_HEADSET) - == CallAudioState.ROUTE_WIRED_HEADSET) { - icon = R.drawable.quantum_ic_headset_white_36; - contentDescriptionResId = R.string.incall_content_description_headset; - } else { - icon = R.drawable.ic_phone_audio_white_36dp; - contentDescriptionResId = R.string.incall_content_description_earpiece; - } - } else { - checkable = true; - isChecked = audioState.getRoute() == CallAudioState.ROUTE_SPEAKER; - label = R.string.incall_label_speaker; - icon = R.drawable.quantum_ic_volume_up_white_36; - contentDescriptionResId = R.string.incall_content_description_speaker; - } + SpeakerButtonInfo info = new SpeakerButtonInfo(audioState, IconSize.SIZE_36_DP); + + checkable = info.checkable; + isChecked = info.isChecked; + label = info.label; + icon = info.icon; + @StringRes int contentDescriptionResId = info.contentDescription; contentDescription = delegate.getContext().getText(contentDescriptionResId); checkedContentDescription = |