diff options
Diffstat (limited to 'tests/tests/telecom2/src/android/telecom/cts/TelecomManagerNoPermissionsTest.java')
-rw-r--r-- | tests/tests/telecom2/src/android/telecom/cts/TelecomManagerNoPermissionsTest.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/tests/telecom2/src/android/telecom/cts/TelecomManagerNoPermissionsTest.java b/tests/tests/telecom2/src/android/telecom/cts/TelecomManagerNoPermissionsTest.java index 9be176b2bc7..8e2d759168c 100644 --- a/tests/tests/telecom2/src/android/telecom/cts/TelecomManagerNoPermissionsTest.java +++ b/tests/tests/telecom2/src/android/telecom/cts/TelecomManagerNoPermissionsTest.java @@ -19,6 +19,7 @@ package android.telecom.cts; import android.content.Context; import android.telecom.TelecomManager; import android.test.InstrumentationTestCase; +import android.util.Log; /** * Verifies correct operation of TelecomManager APIs when the correct permissions have not been @@ -89,4 +90,37 @@ public class TelecomManagerNoPermissionsTest extends InstrumentationTestCase { TestUtils.ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION_STRING); } } + + public void testGetPhoneAccountCompatPermissions() throws Exception { + if (!TestUtils.shouldTestTelecom(mContext)) { + return; + } + + try { + TestUtils.enableCompatCommand(getInstrumentation(), + TestUtils.ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION_STRING); + + try { + mTelecomManager.getPhoneAccount(TestUtils.TEST_DEFAULT_PHONE_ACCOUNT_HANDLE_1); + fail("TelecomManager#getPhoneAccount should require READ_PHONE_NUMBERS or " + + "READ_PRIVILEGED_PHONE_STATE when " + + "ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION is enabled"); + } catch (SecurityException e) { + //expected + } + + TestUtils.disableCompatCommand(getInstrumentation(), + TestUtils.ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION_STRING); + try { + mTelecomManager.getPhoneAccount(TestUtils.TEST_DEFAULT_PHONE_ACCOUNT_HANDLE_1); + } catch (SecurityException e) { + fail("TelecomManager#getPhoneAccount shouldn't require READ_PHONE_NUMBERS or " + + "READ_PRIVILEGED_PHONE_STATE when " + + "ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION is disabled"); + } + } finally { + TestUtils.resetCompatCommand(getInstrumentation(), + TestUtils.ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION_STRING); + } + } } |