summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
diff options
context:
space:
mode:
authoruabdullah <uabdullah@google.com>2017-10-15 03:10:50 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-10-15 03:10:50 +0000
commit039fa13e82456a4e756364e6a59126f3b1420edc (patch)
treeeace3e6172e9b01c3282112c140a5e32335ba68e /java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
parent8a6c036e9946bdbd643354450a39fdcb0de48ddd (diff)
parent5fb96c9646db823dfe46d1735cbd62441884f8c9 (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.java23
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");