am e350b3b0: DO NOT MERGE Add opengl extensions to cts device info report output.
* commit 'e350b3b0138582f353ae90d7f748efd097c31ebf':
DO NOT MERGE Add opengl extensions to cts device info report output.
diff --git a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoActivity.java b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoActivity.java
index 7ee7436..4df8e62 100644
--- a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoActivity.java
+++ b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoActivity.java
@@ -36,6 +36,7 @@
// work done should be reported in GLES..View
private CountDownLatch mDone = new CountDownLatch(1);
+ private HashSet<String> mOpenGlExtensions = new HashSet<String>();
private HashSet<String> mFormats = new HashSet<String>();
private String mGraphicsVendor;
private String mGraphicsRenderer;
@@ -67,14 +68,20 @@
}
}
- StringBuilder builder = new StringBuilder();
+ StringBuilder textureBuilder = new StringBuilder();
for (String format: mFormats) {
- builder.append(format);
- builder.append(";");
+ textureBuilder.append(format).append(";");
+ }
+ StringBuilder extensionBuilder = new StringBuilder();
+ for (String extension : mOpenGlExtensions) {
+ extensionBuilder.append(extension).append(";");
}
DeviceInfoInstrument.addResult(
+ DeviceInfoConstants.OPEN_GL_EXTENSIONS,
+ extensionBuilder.toString());
+ DeviceInfoInstrument.addResult(
DeviceInfoConstants.OPEN_GL_COMPRESSED_TEXTURE_FORMATS,
- builder.toString());
+ textureBuilder.toString());
DeviceInfoInstrument.addResult(
DeviceInfoConstants.GRAPHICS_VENDOR,
mGraphicsVendor);
@@ -84,6 +91,10 @@
mDone.countDown();
}
+ public void addOpenGlExtension(String openGlExtension) {
+ mOpenGlExtensions.add(openGlExtension);
+ }
+
public void addCompressedTextureFormat(String format) {
mFormats.add(format);
}
diff --git a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoConstants.java b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoConstants.java
index ddc87dc..d77a44c 100644
--- a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoConstants.java
+++ b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoConstants.java
@@ -23,6 +23,7 @@
*/
public interface DeviceInfoConstants {
+ public static final String OPEN_GL_EXTENSIONS = "openGlExtensions";
public static final String OPEN_GL_COMPRESSED_TEXTURE_FORMATS =
"openGlCompressedTextureFormats";
public static final String SYS_LIBRARIES = "systemlibraries";
diff --git a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/GLESSurfaceView.java b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/GLESSurfaceView.java
index b3af3a7..1d3bf7f 100644
--- a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/GLESSurfaceView.java
+++ b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/GLESSurfaceView.java
@@ -81,6 +81,7 @@
scanner.useDelimiter(" ");
while (scanner.hasNext()) {
String ext = scanner.next();
+ mParent.addOpenGlExtension(ext);
if (ext.contains("texture")) {
if (ext.contains("compression") || ext.contains("compressed")) {
Log.i(TAG, "Compression supported: " + ext);
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/DeviceInfoResult.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/DeviceInfoResult.java
index 56b3913..dd91af0 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/result/DeviceInfoResult.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/DeviceInfoResult.java
@@ -53,6 +53,10 @@
private static final String OPENGL_TEXTURE_FORMAT_TAG = "TextureFormat";
private static final String OPENGL_TEXTURE_FORMAT_DELIM = ";";
+ private static final String OPENGL_EXTENSIONS_TAG = "OpenGlExtensions";
+ private static final String OPENGL_EXTENSION_TAG = "OpenGlExtension";
+ private static final String OPENGL_EXTENSION_DELIM = ";";
+
private static final String SYSLIB_INFO_TAG = "SystemLibrariesInfo";
private static final String SYSLIB_TAG = "Library";
private static final String SYSLIB_DELIM = ";";
@@ -73,47 +77,52 @@
public void serialize(KXmlSerializer serializer) throws IOException {
serializer.startTag(ns, TAG);
- if (!mMetrics.isEmpty()) {
-
- // Extract metrics that need extra handling, and then dump the remainder into BuildInfo
- Map<String, String> metricsCopy = new HashMap<String, String>(mMetrics);
- serializer.startTag(ns, SCREEN_TAG);
- serializer.attribute(ns, DeviceInfoConstants.RESOLUTION,
- getMetric(metricsCopy, DeviceInfoConstants.RESOLUTION));
- serializer.attribute(ns, DeviceInfoConstants.SCREEN_DENSITY,
- getMetric(metricsCopy, DeviceInfoConstants.SCREEN_DENSITY));
- serializer.attribute(ns, DeviceInfoConstants.SCREEN_DENSITY_BUCKET,
- getMetric(metricsCopy, DeviceInfoConstants.SCREEN_DENSITY_BUCKET));
- serializer.attribute(ns, DeviceInfoConstants.SCREEN_SIZE,
- getMetric(metricsCopy, DeviceInfoConstants.SCREEN_SIZE));
- serializer.endTag(ns, SCREEN_TAG);
-
- serializer.startTag(ns, PHONE_TAG);
- serializer.attribute(ns, DeviceInfoConstants.PHONE_NUMBER,
- getMetric(metricsCopy, DeviceInfoConstants.PHONE_NUMBER));
- serializer.endTag(ns, PHONE_TAG);
-
- String featureData = getMetric(metricsCopy, DeviceInfoConstants.FEATURES);
- String processData = getMetric(metricsCopy, DeviceInfoConstants.PROCESSES);
- String sysLibData = getMetric(metricsCopy, DeviceInfoConstants.SYS_LIBRARIES);
- String textureData = getMetric(metricsCopy,
- DeviceInfoConstants.OPEN_GL_COMPRESSED_TEXTURE_FORMATS);
-
- // dump the remaining metrics without translation
- serializer.startTag(ns, BUILD_TAG);
- for (Map.Entry<String, String> metricEntry : metricsCopy.entrySet()) {
- serializer.attribute(ns, metricEntry.getKey(), metricEntry.getValue());
- }
- serializer.endTag(ns, BUILD_TAG);
-
- serializeFeatureInfo(serializer, featureData);
- serializeProcessInfo(serializer, processData);
- serializeSystemLibrariesInfo(serializer, sysLibData);
- serializeOpenGLCompressedTextureFormatsInfo(serializer, textureData);
- } else {
+ if (mMetrics.isEmpty()) {
// this might be expected, if device info collection was turned off
CLog.d("Could not find device info");
+ serializer.endTag(ns, TAG);
+ return;
}
+
+ // Extract metrics that need extra handling, and then dump the remainder into BuildInfo
+ Map<String, String> metricsCopy = new HashMap<String, String>(mMetrics);
+ serializer.startTag(ns, SCREEN_TAG);
+ serializer.attribute(ns, DeviceInfoConstants.RESOLUTION,
+ getMetric(metricsCopy, DeviceInfoConstants.RESOLUTION));
+ serializer.attribute(ns, DeviceInfoConstants.SCREEN_DENSITY,
+ getMetric(metricsCopy, DeviceInfoConstants.SCREEN_DENSITY));
+ serializer.attribute(ns, DeviceInfoConstants.SCREEN_DENSITY_BUCKET,
+ getMetric(metricsCopy, DeviceInfoConstants.SCREEN_DENSITY_BUCKET));
+ serializer.attribute(ns, DeviceInfoConstants.SCREEN_SIZE,
+ getMetric(metricsCopy, DeviceInfoConstants.SCREEN_SIZE));
+ serializer.endTag(ns, SCREEN_TAG);
+
+ serializer.startTag(ns, PHONE_TAG);
+ serializer.attribute(ns, DeviceInfoConstants.PHONE_NUMBER,
+ getMetric(metricsCopy, DeviceInfoConstants.PHONE_NUMBER));
+ serializer.endTag(ns, PHONE_TAG);
+
+ String featureData = getMetric(metricsCopy, DeviceInfoConstants.FEATURES);
+ String processData = getMetric(metricsCopy, DeviceInfoConstants.PROCESSES);
+ String sysLibData = getMetric(metricsCopy, DeviceInfoConstants.SYS_LIBRARIES);
+ String textureData = getMetric(metricsCopy,
+ DeviceInfoConstants.OPEN_GL_COMPRESSED_TEXTURE_FORMATS);
+ String openGlExtensionData = getMetric(metricsCopy,
+ DeviceInfoConstants.OPEN_GL_EXTENSIONS);
+
+ // dump the remaining metrics without translation
+ serializer.startTag(ns, BUILD_TAG);
+ for (Map.Entry<String, String> metricEntry : metricsCopy.entrySet()) {
+ serializer.attribute(ns, metricEntry.getKey(), metricEntry.getValue());
+ }
+ serializer.endTag(ns, BUILD_TAG);
+
+ serializeFeatureInfo(serializer, featureData);
+ serializeProcessInfo(serializer, processData);
+ serializeSystemLibrariesInfo(serializer, sysLibData);
+ serializeOpenGLCompressedTextureFormatsInfo(serializer, textureData);
+ serializeOpenGLExtensions(serializer, openGlExtensionData);
+ // End
serializer.endTag(ns, TAG);
}
@@ -148,6 +157,12 @@
OPENGL_TEXTURE_FORMAT_DELIM, null, formats, "name");
}
+ private void serializeOpenGLExtensions(KXmlSerializer serializer, String extensions)
+ throws IOException {
+ serialize(serializer, OPENGL_EXTENSIONS_TAG, OPENGL_EXTENSION_TAG,
+ OPENGL_EXTENSION_DELIM, null, extensions, "name");
+ }
+
private void serializeSystemLibrariesInfo(KXmlSerializer serializer, String libs)
throws IOException {
serialize(serializer, SYSLIB_INFO_TAG, SYSLIB_TAG, SYSLIB_DELIM, null, libs, "name");