Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b780cb91 authored by twyen's avatar twyen Committed by Copybara-Service
Browse files

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
parent 00d7edea
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -182,10 +182,10 @@ public class VisualVoicemailCallLogFragment extends CallLogFragment {
  }

  @VisibleForTesting
  static boolean shouldAutoSync(
  boolean shouldAutoSync(
      VoicemailErrorMessageCreator errorMessageCreator, List<VoicemailStatus> statuses) {
    for (VoicemailStatus status : statuses) {
      if (!status.isActive()) {
      if (!status.isActive(getContext())) {
        continue;
      }
      if (errorMessageCreator.isSyncBlockingError(status)) {
+3 −1
Original line number Diff line number Diff line
@@ -86,9 +86,11 @@ public class VoicemailErrorManager implements CallLogQueryHandler.Listener, Voic
    List<VoicemailStatus> statuses = new ArrayList<>();
    while (statusCursor.moveToNext()) {
      VoicemailStatus status = new VoicemailStatus(context, statusCursor);
      if (status.isActive()) {
      if (status.isActive(context)) {
        statuses.add(status);
        addServiceStateListener(status);
      } else {
        LogUtil.i("VisualVoicemailCallLogFragment.shouldAutoSync", "inactive source ignored");
      }
    }
    alertItem.updateStatus(statuses, this);
+3 −1
Original line number Diff line number Diff line
@@ -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
                  }
+18 −1
Original line number Diff line number Diff line
@@ -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: