diff options
author | uabdullah <uabdullah@google.com> | 2017-10-15 03:10:50 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-10-15 03:10:50 +0000 |
commit | 039fa13e82456a4e756364e6a59126f3b1420edc (patch) | |
tree | eace3e6172e9b01c3282112c140a5e32335ba68e /java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java | |
parent | 8a6c036e9946bdbd643354450a39fdcb0de48ddd (diff) | |
parent | 5fb96c9646db823dfe46d1735cbd62441884f8c9 (diff) |
Merge "Use CONTENT_URI_WITH_VOICEMAIL for SystemCallLogDataSource"
am: 5fb96c9646
Change-Id: I79f55ac7c3eefccbdd9334e53185d7ed82978115
Diffstat (limited to 'java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java')
-rw-r--r-- | java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java index 0a965f63e..681a86da7 100644 --- a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java +++ b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java @@ -88,7 +88,7 @@ public class SystemCallLogDataSource implements CallLogDataSource { appContext .getContentResolver() .registerContentObserver( - CallLog.Calls.CONTENT_URI, + CallLog.Calls.CONTENT_URI_WITH_VOICEMAIL, true, new CallLogObserver( ThreadUtil.getUiThreadHandler(), appContext, contentObserverCallbacks)); @@ -152,6 +152,9 @@ public class SystemCallLogDataSource implements CallLogDataSource { @Override public ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc) { // TODO(zachh): Complete implementation. + + assertNoVoicemailsInRows(individualRowsSortedByTimestampDesc); + return new RowCombiner(individualRowsSortedByTimestampDesc) .useMostRecentLong(AnnotatedCallLog.TIMESTAMP) .useMostRecentLong(AnnotatedCallLog.NEW) @@ -174,6 +177,15 @@ public class SystemCallLogDataSource implements CallLogDataSource { .combine(); } + private void assertNoVoicemailsInRows(List<ContentValues> individualRowsSortedByTimestampDesc) { + for (ContentValues contentValue : individualRowsSortedByTimestampDesc) { + if (contentValue.getAsLong(AnnotatedCallLog.CALL_TYPE) != null) { + Assert.checkArgument( + contentValue.getAsLong(AnnotatedCallLog.CALL_TYPE) != Calls.VOICEMAIL_TYPE); + } + } + } + @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources private void handleInsertsAndUpdates( Context appContext, CallLogMutations mutations, Set<Long> existingAnnotatedCallLogIds) { @@ -189,7 +201,7 @@ public class SystemCallLogDataSource implements CallLogDataSource { appContext .getContentResolver() .query( - Calls.CONTENT_URI, // Excludes voicemail + Calls.CONTENT_URI_WITH_VOICEMAIL, new String[] { Calls._ID, Calls.DATE, @@ -414,7 +426,12 @@ public class SystemCallLogDataSource implements CallLogDataSource { try (Cursor cursor = appContext .getContentResolver() - .query(Calls.CONTENT_URI, new String[] {Calls._ID}, whereClause, whereArgs, null)) { + .query( + Calls.CONTENT_URI_WITH_VOICEMAIL, + new String[] {Calls._ID}, + whereClause, + whereArgs, + null)) { if (cursor == null) { LogUtil.e("SystemCallLogDataSource.getIdsFromSystemCallLog", "null cursor"); |