diff options
author | erfanian <erfanian@google.com> | 2018-01-02 16:46:00 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-02 16:48:03 -0800 |
commit | f212de674ed1678aa35a5c72e041e82e1f38dce6 (patch) | |
tree | 484de8c21bcfd61f299013a318d915cd2f29bcb1 /java/com/android/dialer/calllog/database | |
parent | f473e1d0988bb13874a0774db9cbcd66777f9150 (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.java | 22 |
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 |