summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-10-03 01:18:16 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-10-03 01:18:16 +0000
commitff0b29390dfd1625092fe4a5bed0891aa5c5d05e (patch)
tree082da9fb098a96aac9665310bc7aea9cc9301e14
parent7c54c425841f5dd6a9f08be95a2ddc6ca8d03aeb (diff)
parentcb097482c41778c446f66690c10ce06f17463358 (diff)
Merge "Check for valid phone account before displaying voicemail TOS"
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
index f5ea95d35..a2b82c0fc 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
@@ -125,6 +125,17 @@ public class VoicemailTosMessageCreator {
}
private boolean shouldShowTos() {
+ if (!isValidVoicemailType(status.type)) {
+ LogUtil.i("VoicemailTosMessageCreator.shouldShowTos", "unsupported type: " + status.type);
+ return false;
+ }
+
+ if (status.getPhoneAccountHandle() == null
+ || status.getPhoneAccountHandle().getComponentName() == null) {
+ LogUtil.i("VoicemailTosMessageCreator.shouldShowTos", "invalid phone account");
+ return false;
+ }
+
if (isVvm3()) {
LogUtil.i("VoicemailTosMessageCreator.shouldShowTos", "showing TOS for verizon");
return true;
@@ -139,6 +150,20 @@ public class VoicemailTosMessageCreator {
return false;
}
+ private static boolean isValidVoicemailType(String type) {
+ if (type == null) {
+ return false;
+ }
+ switch (type) {
+ case TelephonyManager.VVM_TYPE_OMTP:
+ case TelephonyManager.VVM_TYPE_CVVM:
+ case VisualVoicemailTypeExtensions.VVM_TYPE_VVM3:
+ return true;
+ default:
+ return false;
+ }
+ }
+
private boolean isVoicemailTranscriptionEnabled() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& ConfigProviderBindings.get(context).getBoolean("voicemail_transcription_enabled", false);