Fix ApiDemo Layout rendering test
The issue came from a lack of device configuration and
missing default versions of some resources. We know use
an ADP1 configuration to choose the resources used by
the rendering.
Change-Id: I097b444e4fdc5572cfc53293a3215f1382f5d49c
diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java b/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java
index 14e0080..2b9aca3 100644
--- a/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java
+++ b/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java
@@ -17,6 +17,23 @@
package com.android.ide.eclipse.tests.functests.layoutRendering;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
+import com.android.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenDimensionQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenRatioQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier;
+import com.android.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier.KeyboardState;
+import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier.NavigationMethod;
+import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier.Density;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier.ScreenOrientation;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenRatioQualifier.ScreenRatio;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier.ScreenSize;
+import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier.TextInputMethod;
+import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier.TouchScreenType;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
@@ -205,6 +222,7 @@
null /*projectKey*/,
320,
480,
+ false, //renderFullSize
160, //density
160, //xdpi
160, // ydpi
@@ -234,9 +252,26 @@
}
}
+ /**
+ * Returns a config. This must be a valid config like a device would return. This is to
+ * prevent issues where some resources don't exist in all cases and not in the default
+ * (for instance only available in hdpi and mdpi but not in default).
+ * @return
+ */
private FolderConfiguration getConfiguration() {
FolderConfiguration config = new FolderConfiguration();
+ // this matches an ADP1.
+ config.addQualifier(new ScreenSizeQualifier(ScreenSize.NORMAL));
+ config.addQualifier(new ScreenRatioQualifier(ScreenRatio.NOTLONG));
+ config.addQualifier(new ScreenOrientationQualifier(ScreenOrientation.PORTRAIT));
+ config.addQualifier(new PixelDensityQualifier(Density.MEDIUM));
+ config.addQualifier(new TouchScreenQualifier(TouchScreenType.FINGER));
+ config.addQualifier(new KeyboardStateQualifier(KeyboardState.HIDDEN));
+ config.addQualifier(new TextInputMethodQualifier(TextInputMethod.QWERTY));
+ config.addQualifier(new NavigationMethodQualifier(NavigationMethod.TRACKBALL));
+ config.addQualifier(new ScreenDimensionQualifier(480, 320));
+
return config;
}
}