summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/voicemail
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2018-05-21 14:44:52 -0700
committerCopybara-Service <copybara-piper@google.com>2018-05-21 16:24:23 -0700
commitb780cb914e8ae07da39e771539c73bc915ac2e7c (patch)
tree938562efaa620c9400247f9f1d703c1408b060ce /java/com/android/dialer/voicemail
parent00d7edeabd1100fa0a9ce6090df0402e771a735f (diff)
Ignore dialer OMTP VVM error if VVM is disabled
The status will be stale. TEST=TAP Bug: 78831353 Test: TAP PiperOrigin-RevId: 197462056 Change-Id: Iaeeae9007f6b5ad8319889a860fdcce782be8a0d
Diffstat (limited to 'java/com/android/dialer/voicemail')
-rw-r--r--java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java4
-rw-r--r--java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java19
2 files changed, 21 insertions, 2 deletions
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java b/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java
index b2052c61e..243dc6a86 100644
--- a/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java
+++ b/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java
@@ -280,7 +280,9 @@ public final class NewVoicemailFragment extends Fragment implements LoaderCallba
while (cursor.moveToNext()) {
VoicemailStatus status = new VoicemailStatus(context, cursor);
- if (status.isActive()) {
+ if (status.isActive(context)) {
+ LogUtil.i(
+ "NewVoicemailFragment.queryVoicemailStatus", "inactive source ignored");
statuses.add(status);
// TODO(a bug): Handle Service State Listeners
}
diff --git a/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java b/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java
index 4f4dbbbe8..ebda0e658 100644
--- a/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java
+++ b/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java
@@ -34,6 +34,8 @@ import android.telephony.TelephonyManager;
import android.text.TextUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.voicemailstatus.VoicemailStatusQuery;
+import com.android.voicemail.VoicemailClient;
+import com.android.voicemail.VoicemailComponent;
/** Structured data from {@link android.provider.VoicemailContract.Status} */
public class VoicemailStatus {
@@ -232,7 +234,22 @@ public class VoicemailStatus {
}
}
- public boolean isActive() {
+ public boolean isActive(Context context) {
+ VoicemailClient voicemailClient = VoicemailComponent.get(context).getVoicemailClient();
+ if (context.getPackageName().equals(sourcePackage)) {
+ if (!voicemailClient.isVoicemailModuleEnabled()) {
+ LogUtil.i("VoicemailStatus.isActive", "module disabled");
+ return false;
+ }
+ if (!voicemailClient.hasCarrierSupport(context, getPhoneAccountHandle())) {
+ LogUtil.i("VoicemailStatus.isActive", "carrier not supported");
+ return false;
+ }
+ if (!voicemailClient.isVoicemailEnabled(context, getPhoneAccountHandle())) {
+ LogUtil.i("VoicemailStatus.isActive", "VVM disabled");
+ return false;
+ }
+ }
switch (configurationState) {
case Status.CONFIGURATION_STATE_NOT_CONFIGURED:
case Status.CONFIGURATION_STATE_DISABLED: