summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStas Negara <snegara@google.com>2015-04-30 15:59:53 -0700
committerStas Negara <snegara@google.com>2015-05-05 15:55:32 -0700
commitbe9df783298c3d80fe31aaebe25f34862cc014d2 (patch)
treeb352a8af4f340cc772603de0bce544ae81857ec7
parent81597f2898bb4a179cb43a52352739b6e2669b0a (diff)
downloadtesting-be9df783298c3d80fe31aaebe25f34862cc014d2.tar.gz
Support showing cloud device configuration in devices table.
Also, change the display format of a cloud configuration. Change-Id: Idc93752847b9cbc70803baef376e25411a38abab
-rw-r--r--src/com/google/gct/testing/CloudConfigurationProviderImpl.java23
-rw-r--r--src/com/google/gct/testing/CloudDevice.pngbin0 -> 362 bytes
-rw-r--r--src/com/google/gct/testing/ConfigurationInstance.java2
-rw-r--r--src/com/google/gct/testing/GhostCloudDevice.java8
4 files changed, 30 insertions, 3 deletions
diff --git a/src/com/google/gct/testing/CloudConfigurationProviderImpl.java b/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
index ceebb4f..5b0f92d 100644
--- a/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
+++ b/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
@@ -58,6 +58,7 @@ import org.jetbrains.android.run.testing.AndroidTestRunConfiguration;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import javax.imageio.ImageIO;
import javax.swing.*;
import java.io.File;
import java.io.FilenameFilter;
@@ -376,6 +377,28 @@ public class CloudConfigurationProviderImpl extends CloudConfigurationProvider {
}
}
+ @Nullable
+ @Override
+ public Icon getCloudDeviceIcon() {
+ try {
+ return new ImageIcon(ImageIO.read(CloudConfigurationProviderImpl.class.getResourceAsStream("CloudDevice.png")));
+ } catch (Throwable e) {
+ return null;
+ }
+ }
+
+ @Nullable
+ @Override
+ public String getCloudDeviceConfiguration(IDevice device) {
+ String encodedConfigurationInstance = device instanceof GhostCloudDevice
+ ? ((GhostCloudDevice)device).getEncodedConfigurationInstance()
+ : serialNumberToConfigurationInstance.get(device.getSerialNumber());
+ if (encodedConfigurationInstance != null) {
+ return ConfigurationInstance.parseFromEncodedString(encodedConfigurationInstance).getResultsViewerDisplayString();
+ }
+ return null;
+ }
+
private void showCloudDevicePollingError(Exception e, String deviceId) {
CloudTestingUtils.showErrorMessage(null, "Error polling for a cloud device", "Failed to connect to a cloud device!\n" +
"Exception while polling for a cloud device\n\n" +
diff --git a/src/com/google/gct/testing/CloudDevice.png b/src/com/google/gct/testing/CloudDevice.png
new file mode 100644
index 0000000..a28379a
--- /dev/null
+++ b/src/com/google/gct/testing/CloudDevice.png
Binary files differ
diff --git a/src/com/google/gct/testing/ConfigurationInstance.java b/src/com/google/gct/testing/ConfigurationInstance.java
index 3020a20..66cd276 100644
--- a/src/com/google/gct/testing/ConfigurationInstance.java
+++ b/src/com/google/gct/testing/ConfigurationInstance.java
@@ -48,7 +48,7 @@ public class ConfigurationInstance {
return input.getId();
}
};
- public static final String DISPLAY_NAME_DELIMITER = " | ";
+ public static final String DISPLAY_NAME_DELIMITER = ", ";
public static final String ENCODED_NAME_DELIMITER = "-";
private final Map<String, CloudTestingType> typesByDimensionName = new LinkedHashMap<String, CloudTestingType>();
diff --git a/src/com/google/gct/testing/GhostCloudDevice.java b/src/com/google/gct/testing/GhostCloudDevice.java
index cdaa3c1..7425ebf 100644
--- a/src/com/google/gct/testing/GhostCloudDevice.java
+++ b/src/com/google/gct/testing/GhostCloudDevice.java
@@ -40,9 +40,13 @@ public class GhostCloudDevice implements IDevice {
@NonNull
@Override
public String getSerialNumber() {
+ return "N/A";
+ }
+
+ public String getEncodedConfigurationInstance() {
AndroidDevice androidDevice = device.getAndroidDevice();
- return (androidDevice.getAndroidModelId() + "-" + androidDevice.getAndroidVersionId() + "-" +
- androidDevice.getLocale() + "-" + androidDevice.getOrientation()).toLowerCase();
+ return androidDevice.getAndroidModelId() + "-" + androidDevice.getAndroidVersionId() + "-" +
+ androidDevice.getLocale() + "-" + androidDevice.getOrientation();
}
@Nullable