Loading AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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"/> Loading src/com/android/contacts/activities/RequestPermissionsActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -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]); } Loading tests/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java +9 −2 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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; Loading Loading
AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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"/> Loading
src/com/android/contacts/activities/RequestPermissionsActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -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]); } Loading
tests/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading
tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java +9 −2 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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; Loading