summaryrefslogtreecommitdiff
path: root/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java')
-rw-r--r--java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java29
1 files changed, 21 insertions, 8 deletions
diff --git a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
index 25325eeb7..83a3960dd 100644
--- a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
+++ b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
@@ -24,9 +24,9 @@ import android.support.v4.os.BuildCompat;
import android.telecom.PhoneAccountHandle;
import android.text.TextUtils;
import android.util.ArrayMap;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
+import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.ActivationTask;
import com.android.voicemail.impl.Assert;
import com.android.voicemail.impl.OmtpEvents;
@@ -153,9 +153,7 @@ public class OmtpVvmSyncService {
private void autoDeleteAndArchiveVM(
ImapHelper imapHelper, PhoneAccountHandle phoneAccountHandle) {
- if (ConfigProviderBindings.get(mContext)
- .getBoolean(VisualVoicemailSettingsUtil.ALLOW_VOICEMAIL_ARCHIVE, true)
- && isArchiveEnabled(mContext, phoneAccountHandle)) {
+ if (isArchiveAllowedAndEnabled(mContext, phoneAccountHandle)) {
if ((float) imapHelper.getOccuupiedQuota() / (float) imapHelper.getTotalQuota()
> AUTO_DELETE_ARCHIVE_VM_THRESHOLD) {
deleteAndArchiveVM(imapHelper);
@@ -166,14 +164,29 @@ public class OmtpVvmSyncService {
VvmLog.i(TAG, "no need to archive and auto delete VM, quota below threshold");
}
} else {
- VvmLog.i(TAG, "autoDeleteAndArchiveVM is turned off");
+ VvmLog.i(TAG, "isArchiveAllowedAndEnabled is false");
Logger.get(mContext).logImpression(DialerImpression.Type.VVM_ARCHIVE_AUTO_DELETE_TURNED_OFF);
}
}
- private static boolean isArchiveEnabled(Context context, PhoneAccountHandle phoneAccountHandle) {
- return VisualVoicemailSettingsUtil.isArchiveEnabled(context, phoneAccountHandle)
- && VisualVoicemailSettingsUtil.isEnabled(context, phoneAccountHandle);
+ private static boolean isArchiveAllowedAndEnabled(
+ Context context, PhoneAccountHandle phoneAccountHandle) {
+
+ if (!VoicemailComponent.get(context)
+ .getVoicemailClient()
+ .isVoicemailArchiveAvailable(context)) {
+ VvmLog.i("isArchiveAllowedAndEnabled", "voicemail archive is not available");
+ return false;
+ }
+ if (!VisualVoicemailSettingsUtil.isArchiveEnabled(context, phoneAccountHandle)) {
+ VvmLog.i("isArchiveAllowedAndEnabled", "voicemail archive is turned off");
+ return false;
+ }
+ if (!VisualVoicemailSettingsUtil.isEnabled(context, phoneAccountHandle)) {
+ VvmLog.i("isArchiveAllowedAndEnabled", "voicemail is turned off");
+ return false;
+ }
+ return true;
}
private void deleteAndArchiveVM(ImapHelper imapHelper) {