From 3782a27fa4785ce3fe3579ecb2f9dd190baec15d Mon Sep 17 00:00:00 2001 From: zachh Date: Tue, 17 Apr 2018 15:55:02 -0700 Subject: Improved handling of IS_READ in new call log. It is not marked "not null" in the system call log and our simulator gives it null data, so handle it more gracefully to be on the safe side. Also enforce "not null" for IS_READ and NEW in annotated call log as I observed that happening somehow (possibly from older builds though). TEST=existing Test: existing PiperOrigin-RevId: 193271095 Change-Id: I780db20c9d6ea5cf5e1d757def9ea06b492267c1 --- java/com/android/dialer/calllog/ClearMissedCalls.java | 7 ++++++- .../dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'java/com/android/dialer/calllog') diff --git a/java/com/android/dialer/calllog/ClearMissedCalls.java b/java/com/android/dialer/calllog/ClearMissedCalls.java index 78eb80294..56c8e575b 100644 --- a/java/com/android/dialer/calllog/ClearMissedCalls.java +++ b/java/com/android/dialer/calllog/ClearMissedCalls.java @@ -138,7 +138,12 @@ public final class ClearMissedCalls { 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 66ba8aa59..61f7debf7 100644 --- a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java +++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java @@ -63,8 +63,8 @@ public class AnnotatedCallLogDatabaseHelper extends SQLiteOpenHelper { + (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, ") -- cgit v1.2.3