blob: ed4a19a14991e7e59d6ccf1a58afcfa1f7620cd2 [file] [log] [blame]
package org.robolectric.annotation.internal;
import org.robolectric.annotation.Config;
public class ConfigUtils {
private ConfigUtils() {
}
public static String[] parseStringArrayProperty(String property) {
if (property.isEmpty()) return new String[0];
return property.split("[, ]+");
}
public static int[] parseSdkArrayProperty(String property) {
String[] parts = parseStringArrayProperty(property);
int[] result = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
result[i] = parseSdkInt(parts[i]);
}
return result;
}
public static int parseSdkInt(String part) {
String spec = part.trim();
switch (spec) {
case "ALL_SDKS":
return Config.ALL_SDKS;
case "TARGET_SDK":
return Config.TARGET_SDK;
case "OLDEST_SDK":
return Config.OLDEST_SDK;
case "NEWEST_SDK":
return Config.NEWEST_SDK;
default:
try {
return Integer.parseInt(spec);
} catch (NumberFormatException e) {
try {
return (int) android.os.Build.VERSION_CODES.class.getField(part).get(null);
} catch (Exception e2) {
throw new IllegalArgumentException("unknown SDK \"" + part + "\"");
}
}
}
}
}