summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/voicemail
diff options
context:
space:
mode:
authoruabdullah <uabdullah@google.com>2018-01-26 12:36:01 -0800
committerCopybara-Service <copybara-piper@google.com>2018-01-26 14:08:52 -0800
commit351cbcf3aed969db9b03fbcfc941cf3e086b0720 (patch)
tree5e53c4dd5bbfcde694c8a177473d2e0c0f5edb65 /java/com/android/dialer/voicemail
parent97d0b5e504a52a83e87f7dc7eec571a44b846b33 (diff)
Disable phone icon for unknown numbers in NUI Voicemail
The phone icon should be disabled for unknown numbers in the NUI Voicemail, so that those numbers may not be called. This should have the same logic as as what we do for the call log. Bug: 72449247 Test: Unit Test PiperOrigin-RevId: 183428831 Change-Id: If1ecc3b4d47de04bccf69ae735a619f6b33c3bbd
Diffstat (limited to 'java/com/android/dialer/voicemail')
-rw-r--r--java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java27
1 files changed, 23 insertions, 4 deletions
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java b/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java
index 0234f6495..dd59712a4 100644
--- a/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java
+++ b/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java
@@ -150,7 +150,9 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
Assert.isNotNull(voicemailEntryFromAdapter);
Uri uri = Uri.parse(voicemailEntryFromAdapter.voicemailUri());
+
numberVoicemailFrom = voicemailEntryFromAdapter.number().getRawInput().getNumber();
+
Assert.isNotNull(viewHolder);
Assert.isNotNull(uri);
Assert.isNotNull(listener);
@@ -179,6 +181,8 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
seekBarView.setEnabled(false);
seekBarView.setThumb(voicemailSeekHandleDisabled);
+ updatePhoneIcon(numberVoicemailFrom);
+
// During the binding we only send a request to the adapter to tell us what the
// state of the media player should be and call that function.
// This could be the paused state, or the playing state of the resume state.
@@ -231,6 +235,23 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
}
}
+ /**
+ * Updates the phone icon depending if we can dial it or not.
+ *
+ * <p>Note: This must be called after the onClickListeners have been set, otherwise isClickable()
+ * state is not maintained.
+ */
+ private void updatePhoneIcon(@Nullable String numberVoicemailFrom) {
+ // TODO(uabdullah): Handle restricted/blocked numbers (a bug)
+ if (TextUtils.isEmpty(numberVoicemailFrom)) {
+ phoneButton.setEnabled(false);
+ phoneButton.setClickable(false);
+ } else {
+ phoneButton.setEnabled(true);
+ phoneButton.setClickable(true);
+ }
+ }
+
private final OnSeekBarChangeListener seekbarChangeListener =
new OnSeekBarChangeListener() {
@Override
@@ -478,11 +499,11 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
audioManager.setMode(AudioManager.STREAM_MUSIC);
if (audioManager.isSpeakerphoneOn()) {
LogUtil.i(
- "NewVoicemailMediaPlayer.phoneButtonListener", "speaker was on, turning it off");
+ "NewVoicemailMediaPlayer.speakerButtonListener", "speaker was on, turning it off");
audioManager.setSpeakerphoneOn(false);
} else {
LogUtil.i(
- "NewVoicemailMediaPlayer.phoneButtonListener", "speaker was off, turning it on");
+ "NewVoicemailMediaPlayer.speakerButtonListener", "speaker was off, turning it on");
audioManager.setSpeakerphoneOn(true);
}
// TODO(uabdullah): Handle colors of speaker icon when speaker is on and off.
@@ -490,8 +511,6 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
};
// TODO(uabdullah): Add phone account handle (a bug)
- // TODO(uabdullah): If the call cannot be made then the phone icon should be greyed out
- // (a bug)
private final View.OnClickListener phoneButtonListener =
new View.OnClickListener() {
@Override