From f153bf42918a16e010f0d756c8ee6434440dc3ea Mon Sep 17 00:00:00 2001 From: Nancy Chen Date: Wed, 6 May 2015 19:29:56 -0700 Subject: Mark voicemails as old after they are read. Currently when voicemails are marked as read, they are not also marked as old ("new" set to 0). This means that when the phone is restarted, the voicemails come back in the notifications bar even if they have been read. Also ensure the voicemail notification is dismissed when the "play" button is pressed. Currently the voicemail is marked as old, but the notifications are not immediately updated so there's no instant feedback. I split the markNewVoicemailsAsOld method from CallLogQueryHandler out into a separate handler (VoicemailQueryHandler) because the markNewVoicemailsAsOld method did not share any notable logic with CallLogQueryHandler and would otherwise require creating two extra constructors. Bug: 20117483 Change-Id: I0f475e1a1489f1b45c8654f5ca882ccd857466e8 --- src/com/android/dialer/CallDetailActivity.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/com/android/dialer/CallDetailActivity.java') diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java index dbcfa64af..7a23944a0 100644 --- a/src/com/android/dialer/CallDetailActivity.java +++ b/src/com/android/dialer/CallDetailActivity.java @@ -55,6 +55,7 @@ import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.GeoUtil; import com.android.contacts.common.CallUtil; import com.android.dialer.calllog.CallDetailHistoryAdapter; +import com.android.dialer.calllog.CallLogNotificationsService; import com.android.dialer.calllog.CallTypeHelper; import com.android.dialer.calllog.ContactInfo; import com.android.dialer.calllog.ContactInfoHelper; @@ -280,6 +281,9 @@ public class CallDetailActivity extends Activity implements ProximitySensorAware values.put(Voicemails.IS_READ, true); getContentResolver().update(voicemailUri, values, Voicemails.IS_READ + " = 0", null); + Intent intent = new Intent(getBaseContext(), CallLogNotificationsService.class); + intent.setAction(CallLogNotificationsService.ACTION_MARK_NEW_VOICEMAILS_AS_OLD); + getBaseContext().startService(intent); return null; } }); -- cgit v1.2.3