Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3dc8535e authored by Gyanesh Mittal's avatar Gyanesh Mittal Committed by Android Build Cherrypicker Worker
Browse files

Add READ_CALL_LOG permission to AOSP Contacts app

Bug: 286070452
Test: Manually
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:762d495956e50363c51b428232f672a836547635)
Merged-In: I47cb4a96ed688c678bef1aa31b251c6956e81920
Change-Id: I47cb4a96ed688c678bef1aa31b251c6956e81920
parent c32739b4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
    <!-- Contacts permission listed first because order determines
         order that permissions are requested with some OEMs -->
    <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"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
+1 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ public class RequestPermissionsActivity extends RequestPermissionsActivityBase {
                permissions.add(permission.CALL_PHONE);
                permissions.add(permission.READ_PHONE_NUMBERS);
                permissions.add(permission.READ_PHONE_STATE);
                permissions.add(permission.READ_CALL_LOG);
            }
            sRequiredPermissions = permissions.toArray(new String[0]);
        }
+1 −0
Original line number Diff line number Diff line
@@ -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" />

+9 −2
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ public class NoPermissionsLaunchSmokeTest {
        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 @@ public class NoPermissionsLaunchSmokeTest {

        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;