diff options
3 files changed, 45 insertions, 7 deletions
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java index 7472748d6cb..fbc01dfa51c 100644 --- a/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java +++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java @@ -378,6 +378,24 @@ public class EphemeralTest extends BaseAppSecurityTest { "testInstallPermissionGranted"); } + @Test + public void testInstallPermissionNotGrantedInPackageInfo() throws Exception { + if (mIsUnsupportedDevice) { + return; + } + Utils.runDeviceTestsAsCurrentUser(getDevice(), EPHEMERAL_1_PKG, TEST_CLASS, + "testInstallPermissionNotGrantedInPackageInfo"); + } + + @Test + public void testInstallPermissionGrantedInPackageInfo() throws Exception { + if (mIsUnsupportedDevice) { + return; + } + Utils.runDeviceTestsAsCurrentUser(getDevice(), EPHEMERAL_1_PKG, TEST_CLASS, + "testInstallPermissionGrantedInPackageInfo"); + } + /** Test for android.permission.INSTANT_APP_FOREGROUND_SERVICE */ @Test public void testStartForegroundService() throws Exception { diff --git a/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java b/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java index 5930840a96f..23593b0746f 100644 --- a/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java +++ b/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java @@ -23,6 +23,7 @@ import static android.media.MediaRecorder.AudioSource.MIC; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.hasItems; import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertSame; @@ -78,6 +79,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import java.io.IOException; +import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.concurrent.CountDownLatch; @@ -1169,6 +1171,28 @@ public class ClientTest { } @Test + public void testInstallPermissionNotGrantedInPackageInfo() throws Exception { + assertThat(isPermissionGrantedInPackageInfo(Manifest.permission.SET_ALARM), is(false)); + } + + @Test + public void testInstallPermissionGrantedInPackageInfo() throws Exception { + assertThat(isPermissionGrantedInPackageInfo(Manifest.permission.INTERNET), is(true)); + } + + private static boolean isPermissionGrantedInPackageInfo(String permissionName) + throws Exception { + final Context context = InstrumentationRegistry.getContext(); + final PackageInfo packageInfo = context.getPackageManager().getPackageInfo( + context.getPackageName(), PackageManager.GET_PERMISSIONS); + final int permissionIndex = Arrays.asList(packageInfo.requestedPermissions).indexOf( + permissionName); + assertThat(permissionIndex, is(not(-1))); + return (packageInfo.requestedPermissionsFlags[permissionIndex] + & PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0; + } + + @Test public void testExposedActivity() throws Exception { final Bundle testArgs = InstrumentationRegistry.getArguments(); assertThat(testArgs, is(notNullValue())); diff --git a/tests/tests/os/src/android/os/cts/LocaleListTest.java b/tests/tests/os/src/android/os/cts/LocaleListTest.java index 8eee8c6d54e..3d053321e2b 100644 --- a/tests/tests/os/src/android/os/cts/LocaleListTest.java +++ b/tests/tests/os/src/android/os/cts/LocaleListTest.java @@ -93,13 +93,9 @@ public class LocaleListTest extends AndroidTestCase { public void testRepeatedArguments() { final Locale[] la = {Locale.US, Locale.US}; - LocaleList ll = null; - try { - ll = new LocaleList(la); - fail("Initializing a LocaleList with an array containing duplicates should throw."); - } catch (Throwable e) { - assertEquals(IllegalArgumentException.class, e.getClass()); - } + LocaleList ll = new LocaleList(la); + assertEquals(1, ll.size()); + assertEquals(Locale.US, ll.get(0)); } public void testIndexOf() { |