Prevent new voicemail notifications from being cleared if a voicemail is expanded
Binding a view holder to an expanded voicemail will attempt to mark the voicemail as read and all voicemails as old. If a new voicemail is received when a voicemail is expanded, the new voicemail will cause a rebind and the notification will be canceled right away.
In this CL, voicemails will only be marked as old if the expanded voicemail was not already read.
Bug: 64211487
Test: CallLogAsyncTaskUtilTest
PiperOrigin-RevId: 163912108
Change-Id: Ibe82fe85984d84aad1a674219ca984fdd10c6d89
diff --git a/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java b/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java
index b1ad0d9..78ec7a6 100644
--- a/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java
+++ b/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java
@@ -66,9 +66,8 @@
.update(voicemailUri, values, Voicemails.IS_READ + " = 0", null)
> 0) {
uploadVoicemailLocalChangesToServer(context);
+ CallLogNotificationsService.markAllNewVoicemailsAsOld(context);
}
-
- CallLogNotificationsService.markAllNewVoicemailsAsOld(context);
return null;
}
});
diff --git a/java/com/android/dialer/app/calllog/CallLogNotificationsService.java b/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
index 536255a..0490b99 100644
--- a/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
+++ b/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
@@ -50,7 +50,8 @@
*/
public class CallLogNotificationsService extends IntentService {
- private static final String ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD =
+ @VisibleForTesting
+ static final String ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD =
"com.android.dialer.calllog.ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD";
private static final String ACTION_MARK_SINGLE_NEW_VOICEMAIL_AS_OLD =