Export activity, verify activity start and display size changes
Bug: 29499595
Change-Id: I18aa3e5d4f65d8b4711fbbcb0adffd634ff6377d
diff --git a/hostsidetests/services/activitymanager/appDisplaySize/AndroidManifest.xml b/hostsidetests/services/activitymanager/appDisplaySize/AndroidManifest.xml
index 49649b6..7727759 100644
--- a/hostsidetests/services/activitymanager/appDisplaySize/AndroidManifest.xml
+++ b/hostsidetests/services/activitymanager/appDisplaySize/AndroidManifest.xml
@@ -25,7 +25,8 @@
<supports-screens android:requiresSmallestWidthDp="100000" />
<application>
- <activity android:name=".SmallestWidthActivity" />
+ <activity android:name=".SmallestWidthActivity"
+ android:exported="true" />
</application>
</manifest>
diff --git a/hostsidetests/services/activitymanager/src/android/server/cts/DisplaySizeTest.java b/hostsidetests/services/activitymanager/src/android/server/cts/DisplaySizeTest.java
index a6a6b5c..9813b00 100644
--- a/hostsidetests/services/activitymanager/src/android/server/cts/DisplaySizeTest.java
+++ b/hostsidetests/services/activitymanager/src/android/server/cts/DisplaySizeTest.java
@@ -31,6 +31,7 @@
private static final String AM_START_COMMAND = "am start -n %s/%s.%s";
private static final String AM_FORCE_STOP = "am force-stop %s";
+ private static final int ACTIVITY_TIMEOUT_MILLIS = 1000;
private static final int WINDOW_TIMEOUT_MILLIS = 1000;
private ITestDevice mDevice;
@@ -45,7 +46,7 @@
// since the feature verifies that we're in a non-default density.
final int stableDensity = getStableDensity();
final int targetDensity = (int) (stableDensity * 0.85);
- mDevice.executeShellCommand("wm density " + targetDensity);
+ setDensity(targetDensity);
}
@Override
@@ -65,6 +66,7 @@
public void testCompatibilityDialog() throws Exception {
startActivity("android.displaysize.app", "SmallestWidthActivity");
+ verifyWindowDisplayed("SmallestWidthActivity", ACTIVITY_TIMEOUT_MILLIS);
verifyWindowDisplayed("UnsupportedDisplaySizeDialog", WINDOW_TIMEOUT_MILLIS);
}
@@ -83,6 +85,16 @@
}
}
+ private void setDensity(int targetDensity) throws DeviceNotAvailableException {
+ mDevice.executeShellCommand("wm density " + targetDensity);
+
+ // Verify that the density is changed.
+ final String output = mDevice.executeShellCommand("wm density");
+ final boolean success = output.contains("Override density: " + targetDensity);
+
+ assertTrue("Failed to set density to " + targetDensity, success);
+ }
+
private void forceStopPackage(String packageName) throws DeviceNotAvailableException {
final String forceStopCmd = String.format(AM_FORCE_STOP, packageName);
mDevice.executeShellCommand(forceStopCmd);