diff options
author | twyen <twyen@google.com> | 2017-10-17 18:13:45 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-10-17 20:12:41 -0700 |
commit | 639943a7668ad4229942e1207128045d49e9ed02 (patch) | |
tree | dd54827288a08600f58ac0aed849e179fcddd8df /java/com/android/dialer/simulator | |
parent | 78cc8ca990f3ce43252c038ad55420bebaeb4180 (diff) |
Support bulk inserted voicemails.
Bulk insert is implemented in ag/3073902
When more than one voicemail is inserted into the VoicemailProvider, the URI type is Voicemails.DIR_TYPE instead of ITEM_TYPE. This CL adds support to the new type.
Previously when multiple voicemails are being notified, each one of them will generate a ringtone because the notifiction is set to alert children. In this CL, the summary will have alert instead, and will only alert when new voicemails are received.
Bug: 21281858
Test: VisualVoicemailNotifierTest
PiperOrigin-RevId: 172546076
Change-Id: I4df6098fc3a793139e3d4e77fe1339efdc001944
Diffstat (limited to 'java/com/android/dialer/simulator')
-rw-r--r-- | java/com/android/dialer/simulator/impl/SimulatorNotifications.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/java/com/android/dialer/simulator/impl/SimulatorNotifications.java b/java/com/android/dialer/simulator/impl/SimulatorNotifications.java index 3f402d317..4ed7c9b8f 100644 --- a/java/com/android/dialer/simulator/impl/SimulatorNotifications.java +++ b/java/com/android/dialer/simulator/impl/SimulatorNotifications.java @@ -16,12 +16,15 @@ package com.android.dialer.simulator.impl; +import android.content.ContentValues; import android.content.Context; import android.provider.VoicemailContract.Voicemails; import android.support.annotation.NonNull; import android.view.ActionProvider; import com.android.dialer.common.LogUtil; import com.android.dialer.databasepopulator.VoicemailPopulator; +import java.util.ArrayList; +import java.util.List; import java.util.concurrent.TimeUnit; /** Implements the simulator submenu. */ @@ -45,6 +48,7 @@ final class SimulatorNotifications { private static void addVoicemailNotifications(@NonNull Context context) { LogUtil.enterBlock("SimulatorNotifications.addVoicemailNotifications"); + List<ContentValues> voicemails = new ArrayList<>(); for (int i = NOTIFICATION_COUNT; i > 0; i--) { VoicemailPopulator.Voicemail voicemail = VoicemailPopulator.Voicemail.builder() @@ -54,11 +58,12 @@ final class SimulatorNotifications { .setIsRead(false) .setTimeMillis(System.currentTimeMillis() - TimeUnit.HOURS.toMillis(i)) .build(); - context - .getContentResolver() - .insert( - Voicemails.buildSourceUri(context.getPackageName()), - voicemail.getAsContentValues(context)); + voicemails.add(voicemail.getAsContentValues(context)); } + context + .getContentResolver() + .bulkInsert( + Voicemails.buildSourceUri(context.getPackageName()), + voicemails.toArray(new ContentValues[voicemails.size()])); } } |