summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllog/database
diff options
context:
space:
mode:
authorerfanian <erfanian@google.com>2018-01-02 16:46:00 -0800
committerCopybara-Service <copybara-piper@google.com>2018-01-02 16:48:03 -0800
commitf212de674ed1678aa35a5c72e041e82e1f38dce6 (patch)
tree484de8c21bcfd61f299013a318d915cd2f29bcb1 /java/com/android/dialer/calllog/database
parentf473e1d0988bb13874a0774db9cbcd66777f9150 (diff)
Add assisted dialing to the new call log.
Bug: 70506228 Test: new unit tests PiperOrigin-RevId: 180610636 Change-Id: I7f498df1a529737bf8473584836bdc3e04a5043c
Diffstat (limited to 'java/com/android/dialer/calllog/database')
-rw-r--r--java/com/android/dialer/calllog/database/Coalescer.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/java/com/android/dialer/calllog/database/Coalescer.java b/java/com/android/dialer/calllog/database/Coalescer.java
index 71052b907..f4ef02a25 100644
--- a/java/com/android/dialer/calllog/database/Coalescer.java
+++ b/java/com/android/dialer/calllog/database/Coalescer.java
@@ -29,6 +29,7 @@ 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.compat.telephony.TelephonyManagerCompat;
import com.android.dialer.phonenumberproto.DialerPhoneNumberUtil;
import com.google.common.base.Preconditions;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
@@ -171,10 +172,31 @@ public class Coalescer {
// An empty number should not be combined with any other number.
return false;
}
+
+ if (!meetsAssistedDialingCriteria(row1, row2)) {
+ return false;
+ }
return dialerPhoneNumberUtil.isExactMatch(number1, number2);
}
/**
+ * Returns a boolean indicating whether or not FEATURES_ASSISTED_DIALING is mutually exclusive
+ * between two rows.
+ */
+ 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;
+ }
+
+ /**
* Delegates to data sources to aggregate individual columns to create a new coalesced row.
*
* @param individualRows {@link AnnotatedCallLog} rows sorted by timestamp descending