Add READ_CALL_LOG permission to AOSP Contacts app

Bug: 286070452
Test: Manually
Change-Id: I47cb4a96ed688c678bef1aa31b251c6956e81920
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index f22f92c..9ccfa3f 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -20,6 +20,7 @@
     <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />
 
     <uses-permission android:name="android.permission.READ_CONTACTS" />
+    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
 
diff --git a/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java b/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java
index ba9a5b7..59f8147 100644
--- a/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java
+++ b/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java
@@ -54,6 +54,7 @@
         assumeTrue(!hasPermission(mTargetContext, Manifest.permission.GET_ACCOUNTS));
         assumeTrue(!hasPermission(mTargetContext, Manifest.permission.READ_PHONE_STATE));
         assumeTrue(!hasPermission(mTargetContext, Manifest.permission.CALL_PHONE));
+        assumeTrue(!hasPermission(mTargetContext, Manifest.permission.READ_CALL_LOG));
 
         // remove state that might exist outside of the app
         // (e.g. launcher shortcuts and scheduled jobs)
@@ -72,14 +73,20 @@
 
         device.waitForIdle();
 
-        device.wait(Until.hasObject(By.textStartsWith("Allow Contacts")), TIMEOUT);
+        final PackageManager packageManager = mTargetContext.getPackageManager();
+        if (packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
+            device.wait(Until.hasObject(By.textEndsWith("your phone call logs?")), TIMEOUT);
+            final UiObject2 grantCallLogPermissionButton = device.findObject(By.text("ALLOW"));
+            grantCallLogPermissionButton.click();
+        }
+
+        device.wait(Until.hasObject(By.textEndsWith("access your contacts?")), TIMEOUT);
         final UiObject2 grantContactsPermissionButton = device.findObject(By.text("ALLOW"));
 
         grantContactsPermissionButton.click();
 
         device.wait(Until.hasObject(By.textEndsWith("make and manage phone calls?")), TIMEOUT);
 
-        final PackageManager packageManager = mTargetContext.getPackageManager();
         if (!packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
             device.waitForIdle();
             return;