summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllog
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2018-04-02 17:49:12 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-03 17:04:59 -0700
commitafb2bd61f7441eb6a82c797d26543f6077c32984 (patch)
tree951e3b25e828603adbfc4ed8cb47f2591d0da58c /java/com/android/dialer/calllog
parent6c480f796e82794001109e5d46260770af63a7ee (diff)
Separate calls with the video feature from others when coalescing rows in the new call log.
Test: CoalescerTest PiperOrigin-RevId: 191376690 Change-Id: Id5939175edddd164a1b477319fb20e6d2a9671a9
Diffstat (limited to 'java/com/android/dialer/calllog')
-rw-r--r--java/com/android/dialer/calllog/database/Coalescer.java35
1 files changed, 20 insertions, 15 deletions
diff --git a/java/com/android/dialer/calllog/database/Coalescer.java b/java/com/android/dialer/calllog/database/Coalescer.java
index ed09eea68..6b1a9e1f5 100644
--- a/java/com/android/dialer/calllog/database/Coalescer.java
+++ b/java/com/android/dialer/calllog/database/Coalescer.java
@@ -18,6 +18,7 @@ package com.android.dialer.calllog.database;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.MatrixCursor;
+import android.provider.CallLog.Calls;
import android.support.annotation.NonNull;
import android.support.annotation.WorkerThread;
import android.telecom.PhoneAccountHandle;
@@ -151,7 +152,6 @@ public class Coalescer {
TelecomUtil.composePhoneAccountHandle(
row2.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_COMPONENT_NAME),
row2.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_ID));
-
if (!Objects.equals(phoneAccount1, phoneAccount2)) {
return false;
}
@@ -161,7 +161,7 @@ public class Coalescer {
return false;
}
- if (!meetsAssistedDialingCriteria(row1, row2)) {
+ if (!meetsCallFeatureCriteria(row1, row2)) {
return false;
}
@@ -185,20 +185,25 @@ public class Coalescer {
}
/**
- * Returns a boolean indicating whether or not FEATURES_ASSISTED_DIALING is mutually exclusive
- * between two rows.
+ * Returns true if column {@link AnnotatedCallLog#FEATURES} of the two given rows indicate that
+ * they can be coalesced.
*/
- private static boolean meetsAssistedDialingCriteria(ContentValues row1, ContentValues row2) {
- int row1Assisted =
- row1.getAsInteger(AnnotatedCallLog.FEATURES)
- & TelephonyManagerCompat.FEATURES_ASSISTED_DIALING;
- int row2Assisted =
- row2.getAsInteger(AnnotatedCallLog.FEATURES)
- & TelephonyManagerCompat.FEATURES_ASSISTED_DIALING;
-
- // FEATURES_ASSISTED_DIALING should not be combined with calls that are
- // !FEATURES_ASSISTED_DIALING
- return row1Assisted == row2Assisted;
+ private static boolean meetsCallFeatureCriteria(ContentValues row1, ContentValues row2) {
+ int row1Features = row1.getAsInteger(AnnotatedCallLog.FEATURES);
+ int row2Features = row2.getAsInteger(AnnotatedCallLog.FEATURES);
+
+ // A row with FEATURES_ASSISTED_DIALING should not be combined with one without it.
+ if ((row1Features & TelephonyManagerCompat.FEATURES_ASSISTED_DIALING)
+ != (row2Features & TelephonyManagerCompat.FEATURES_ASSISTED_DIALING)) {
+ return false;
+ }
+
+ // A video call should not be combined with one that is not a video call.
+ if ((row1Features & Calls.FEATURES_VIDEO) != (row2Features & Calls.FEATURES_VIDEO)) {
+ return false;
+ }
+
+ return true;
}
/**