Merge "Modify log message to avoid logging null String" into ub-contactsdialer-g-dev
diff --git a/src/com/android/contacts/common/model/DeviceLocalAccountLocator.java b/src/com/android/contacts/common/model/DeviceLocalAccountLocator.java
index 0efadc4..8c45c40 100644
--- a/src/com/android/contacts/common/model/DeviceLocalAccountLocator.java
+++ b/src/com/android/contacts/common/model/DeviceLocalAccountLocator.java
@@ -78,16 +78,8 @@
 
         // Many device accounts have default groups associated with them.
         addAccountsFromQuery(ContactsContract.Groups.CONTENT_URI, localAccounts);
-
         addAccountsFromQuery(ContactsContract.Settings.CONTENT_URI, localAccounts);
-
-        if (localAccounts.isEmpty()) {
-            // It's probably safe to assume that if one of the earlier queries found a "device"
-            // account then this query isn't going to find any different device accounts.
-            // We skip this query because it probably is kind of expensive (relative to the other
-            // queries).
-            addAccountsFromQuery(ContactsContract.RawContacts.CONTENT_URI, localAccounts);
-        }
+        addAccountsFromQuery(ContactsContract.RawContacts.CONTENT_URI, localAccounts);
 
         return new ArrayList<>(localAccounts);
     }
diff --git a/src/com/android/contacts/interactions/CallLogInteraction.java b/src/com/android/contacts/interactions/CallLogInteraction.java
index 06fd273..9e6b5a2 100644
--- a/src/com/android/contacts/interactions/CallLogInteraction.java
+++ b/src/com/android/contacts/interactions/CallLogInteraction.java
@@ -16,6 +16,8 @@
 package com.android.contacts.interactions;
 
 import com.android.contacts.R;
+import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
 import com.android.contacts.common.util.BitmapUtil;
 import com.android.contacts.common.util.ContactDisplayUtils;
 
@@ -66,7 +68,14 @@
 
     @Override
     public String getViewHeader(Context context) {
-        return getNumber();
+        String number = mValues.getAsString(Calls.NUMBER);
+        if (number != null) {
+            number = PhoneNumberUtilsCompat.formatNumber(number,
+                    PhoneNumberUtilsCompat.normalizeNumber(number),
+                    GeoUtil.getCurrentCountryIso(context));
+            return sBidiFormatter.unicodeWrap(number, TextDirectionHeuristics.LTR);
+        }
+        return null;
     }
 
     @Override
diff --git a/tests/src/com/android/contacts/common/model/DeviceLocalAccountLocatorTests.java b/tests/src/com/android/contacts/common/model/DeviceLocalAccountLocatorTests.java
index f1a2714..e8c4e2f 100644
--- a/tests/src/com/android/contacts/common/model/DeviceLocalAccountLocatorTests.java
+++ b/tests/src/com/android/contacts/common/model/DeviceLocalAccountLocatorTests.java
@@ -140,24 +140,6 @@
         assertEquals(2, sut.getDeviceLocalAccounts().size());
     }
 
-    public void test_getDeviceLocalAccounts_onlyQueriesRawContactsIfNecessary() {
-        final DeviceLocalAccountTypeFactory stubFactory = new FakeDeviceAccountTypeFactory()
-                .withDeviceTypes(null, "vnd.sec.contact.phone")
-                .withSimTypes("vnd.sec.contact.sim");
-        final FakeContactsProvider contactsProvider = new FakeContactsProvider()
-                .withQueryResult(ContactsContract.Groups.CONTENT_URI, queryResult(
-                        "phone_account", "vnd.sec.contact.phone",
-                        "sim_account", "vnd.sec.contact.sim"
-                ));
-        final DeviceLocalAccountLocator sut = new DeviceLocalAccountLocator(
-                createContentResolverWithProvider(contactsProvider), stubFactory,
-                Collections.<AccountWithDataSet>emptyList());
-
-        sut.getDeviceLocalAccounts();
-
-        assertEquals(0, contactsProvider.getQueryCountFor(RawContacts.CONTENT_URI));
-    }
-
     private DeviceLocalAccountLocator createWithQueryResult(
             Cursor cursor) {
         final DeviceLocalAccountLocator locator = new DeviceLocalAccountLocator(
@@ -194,7 +176,6 @@
     private static class FakeContactsProvider extends MockContentProvider {
         public Cursor mNextQueryResult;
         public Map<Uri, Cursor> mNextResultMapping = new HashMap<>();
-        public Map<Uri, Integer> mQueryCountMapping = new HashMap<>();
 
         public FakeContactsProvider() {}
 
@@ -214,17 +195,10 @@
             return query(uri, projection, selection, selectionArgs, sortOrder, null);
         }
 
-        public int getQueryCountFor(Uri uri) {
-            ensureCountInitialized(uri);
-            return mQueryCountMapping.get(uri);
-        }
-
         @Nullable
         @Override
         public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
                 String sortOrder, CancellationSignal cancellationSignal) {
-            incrementQueryCount(uri);
-
             final Cursor result = mNextResultMapping.get(uri);
             if (result == null) {
                 return mNextQueryResult;
@@ -232,17 +206,5 @@
                 return result;
             }
         }
-
-        private void ensureCountInitialized(Uri uri) {
-            if (!mQueryCountMapping.containsKey(uri)) {
-                mQueryCountMapping.put(uri, 0);
-            }
-        }
-
-        private void incrementQueryCount(Uri uri) {
-            ensureCountInitialized(uri);
-            final int count = mQueryCountMapping.get(uri);
-            mQueryCountMapping.put(uri, count + 1);
-        }
     }
 }