summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllog/database/Coalescer.java
diff options
context:
space:
mode:
authorZachary Heidepriem <zachh@google.com>2017-10-12 01:29:20 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-10-12 01:29:20 +0000
commit306bb488847ebd58c31e2144ba8c558544403048 (patch)
treed06792cffc3d7a377631796a2ca85a99ae7b43b6 /java/com/android/dialer/calllog/database/Coalescer.java
parent71064e2aa5b3c6b24e27095f0bc1a2d940d58d05 (diff)
parent2633778c274746a35e4a54266a3319c53fd1cded (diff)
Merge "Added basic bottom sheet to new call log."
am: 2633778c27 Change-Id: Id6b9f75c0cf3c42b28a0c44d75c10d9c80853936
Diffstat (limited to 'java/com/android/dialer/calllog/database/Coalescer.java')
-rw-r--r--java/com/android/dialer/calllog/database/Coalescer.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/java/com/android/dialer/calllog/database/Coalescer.java b/java/com/android/dialer/calllog/database/Coalescer.java
index 63fa9f828..a8a8f2f1d 100644
--- a/java/com/android/dialer/calllog/database/Coalescer.java
+++ b/java/com/android/dialer/calllog/database/Coalescer.java
@@ -20,11 +20,13 @@ import android.database.Cursor;
import android.database.MatrixCursor;
import android.support.annotation.NonNull;
import android.support.annotation.WorkerThread;
+import android.telecom.PhoneAccountHandle;
import com.android.dialer.DialerPhoneNumber;
import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog;
import com.android.dialer.calllog.datasources.CallLogDataSource;
import com.android.dialer.calllog.datasources.DataSources;
+import com.android.dialer.calllogutils.PhoneAccountUtils;
import com.android.dialer.common.Assert;
import com.android.dialer.phonenumberproto.DialerPhoneNumberUtil;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
@@ -131,11 +133,19 @@ public class Coalescer {
private static boolean rowsShouldBeCombined(
DialerPhoneNumberUtil dialerPhoneNumberUtil, ContentValues row1, ContentValues row2) {
// Don't combine rows which don't use the same phone account.
- if (!Objects.equals(
- row1.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_LABEL),
- row2.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_LABEL))) {
+ PhoneAccountHandle phoneAccount1 =
+ PhoneAccountUtils.getAccount(
+ row1.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_COMPONENT_NAME),
+ row1.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_ID));
+ PhoneAccountHandle phoneAccount2 =
+ PhoneAccountUtils.getAccount(
+ row2.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_COMPONENT_NAME),
+ row2.getAsString(AnnotatedCallLog.PHONE_ACCOUNT_ID));
+
+ if (!Objects.equals(phoneAccount1, phoneAccount2)) {
return false;
}
+
DialerPhoneNumber number1;
DialerPhoneNumber number2;
try {
@@ -153,13 +163,8 @@ public class Coalescer {
throw Assert.createAssertionFailException("error parsing DialerPhoneNumber proto", e);
}
- if (!number1.hasDialerInternalPhoneNumber() && !number2.hasDialerInternalPhoneNumber()) {
- // Empty numbers should not be combined.
- return false;
- }
-
if (!number1.hasDialerInternalPhoneNumber() || !number2.hasDialerInternalPhoneNumber()) {
- // An empty number should not be combined with a non-empty number.
+ // An empty number should not be combined with any other number.
return false;
}
return dialerPhoneNumberUtil.isExactMatch(number1, number2);