Use strict phone number comparation algorithm if the config tells the package to do so.

This change must come after the change 25941.

Internal issue id: 1892808
diff --git a/src/com/android/providers/telephony/MmsSmsProvider.java b/src/com/android/providers/telephony/MmsSmsProvider.java
index a6a6e8e..7830b66 100644
--- a/src/com/android/providers/telephony/MmsSmsProvider.java
+++ b/src/com/android/providers/telephony/MmsSmsProvider.java
@@ -227,9 +227,14 @@
 
     private SQLiteOpenHelper mOpenHelper;
 
+    private boolean mUseStrictPhoneNumberComparation;
+
     @Override
     public boolean onCreate() {
         mOpenHelper = MmsSmsDatabaseHelper.getInstance(getContext());
+        mUseStrictPhoneNumberComparation =
+            getContext().getResources().getBoolean(
+                    com.android.internal.R.bool.config_use_strict_phone_number_comparation);
         return true;
     }
 
@@ -406,7 +411,8 @@
         String selection =
                 isEmail
                 ? "address = ?"
-                : "PHONE_NUMBERS_EQUAL(address, ?)";
+                : String.format("PHONE_NUMBERS_EQUAL(address, ?, %d)",
+                        (mUseStrictPhoneNumberComparation ? 1 : 0));
         String[] selectionArgs = new String[] { refinedAddress };
         Cursor cursor = null;
 
@@ -835,7 +841,8 @@
                 concatSelections(
                         selection,
                         "PHONE_NUMBERS_EQUAL(address, " +
-                        escapedPhoneNumber + ")");
+                        escapedPhoneNumber +
+                        (mUseStrictPhoneNumberComparation ? ", 1)" : ", 0)"));
         SQLiteQueryBuilder mmsQueryBuilder = new SQLiteQueryBuilder();
         SQLiteQueryBuilder smsQueryBuilder = new SQLiteQueryBuilder();
 
@@ -845,7 +852,8 @@
                 MmsProvider.TABLE_PDU +
                 ", (SELECT _id AS address_id " +
                 "FROM addr WHERE PHONE_NUMBERS_EQUAL(addr.address, " +
-                escapedPhoneNumber + ")) " +
+                escapedPhoneNumber +
+                (mUseStrictPhoneNumberComparation ? ", 1)) " : ", 0)) ") +
                 "AS matching_addresses");
         smsQueryBuilder.setTables(SmsProvider.TABLE_SMS);