Merge "Re-add VM: Do not do full sync more than once within a 1 minute span."
diff --git a/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java b/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java
index 0b6f10f..1f6412b 100644
--- a/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java
+++ b/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java
@@ -62,6 +62,9 @@
/** The voicemail to fetch. */
public static final String EXTRA_VOICEMAIL = "voicemail";
+ // Minimum time allowed between full syncs
+ private static final int MINIMUM_FULL_SYNC_INTERVAL_MILLIS = 60 * 1000;
+
private VoicemailsQueryHelper mQueryHelper;
public OmtpVvmSyncService() {
@@ -172,6 +175,20 @@
return;
}
+ if (SYNC_FULL_SYNC.equals(action)) {
+ long lastSyncTime = VisualVoicemailSettingsUtil.getVisualVoicemailLastFullSyncTime(
+ this, phoneAccount);
+ long currentTime = System.currentTimeMillis();
+ if (currentTime - lastSyncTime < MINIMUM_FULL_SYNC_INTERVAL_MILLIS) {
+ // If it's been less than a minute since the last sync, bail.
+ Log.v(TAG, "Avoiding duplicate full sync: synced recently for "
+ + phoneAccount.getId());
+ return;
+ }
+ VisualVoicemailSettingsUtil.setVisualVoicemailLastFullSyncTime(
+ this, phoneAccount, currentTime);
+ }
+
int subId = PhoneUtils.getSubIdForPhoneAccountHandle(phoneAccount);
OmtpVvmCarrierConfigHelper carrierConfigHelper =
new OmtpVvmCarrierConfigHelper(this, subId);