Merge "Improved handling of IS_READ in new call log."
diff --git a/java/com/android/dialer/calllog/ClearMissedCalls.java b/java/com/android/dialer/calllog/ClearMissedCalls.java
index 78eb802..56c8e57 100644
--- a/java/com/android/dialer/calllog/ClearMissedCalls.java
+++ b/java/com/android/dialer/calllog/ClearMissedCalls.java
@@ -138,7 +138,12 @@
Selection.Builder selectionBuilder =
Selection.builder()
- .and(Selection.column(Calls.IS_READ).is("=", 0))
+ .and(
+ Selection.column(Calls.IS_READ)
+ .is("=", 0)
+ .buildUpon()
+ .or(Selection.column(Calls.IS_READ).is("IS NULL"))
+ .build())
.and(Selection.column(Calls.TYPE).is("=", Calls.MISSED_TYPE));
if (!ids.isEmpty()) {
selectionBuilder.and(Selection.column(Calls._ID).in(toStrings(ids)));
diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
index 66ba8aa..61f7deb 100644
--- a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
+++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
@@ -63,8 +63,8 @@
+ (AnnotatedCallLog.NUMBER_PRESENTATION + " integer, ")
+ (AnnotatedCallLog.DURATION + " integer, ")
+ (AnnotatedCallLog.DATA_USAGE + " integer, ")
- + (AnnotatedCallLog.IS_READ + " integer, ")
- + (AnnotatedCallLog.NEW + " integer, ")
+ + (AnnotatedCallLog.IS_READ + " integer not null, ")
+ + (AnnotatedCallLog.NEW + " integer not null, ")
+ (AnnotatedCallLog.GEOCODED_LOCATION + " text, ")
+ (AnnotatedCallLog.PHONE_ACCOUNT_COMPONENT_NAME + " text, ")
+ (AnnotatedCallLog.PHONE_ACCOUNT_ID + " text, ")
diff --git a/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java b/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java
index 2760634..ee7f6d0 100644
--- a/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java
+++ b/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java
@@ -62,7 +62,13 @@
.query(
Calls.CONTENT_URI,
new String[] {Calls._ID},
- Calls.IS_READ + " = ? AND " + Calls.TYPE + " = ?",
+ "("
+ + Calls.IS_READ
+ + " = ? OR "
+ + Calls.IS_READ
+ + " IS NULL) AND "
+ + Calls.TYPE
+ + " = ?",
new String[] {"0", Integer.toString(Calls.MISSED_TYPE)},
/* sortOrder= */ null)) {
return cursor == null ? 0 : cursor.getCount();