// display some extra values.
Map<String, String> properties = info.getProperties();
- String skin = properties.get(AvdManager.AVD_INI_SKIN_NAME);
- if (skin != null) {
- mSdkLog.printf(" Skin: %s\n", skin);
- }
- String sdcard = properties.get(AvdManager.AVD_INI_SDCARD_SIZE);
- if (sdcard == null) {
- sdcard = properties.get(AvdManager.AVD_INI_SDCARD_PATH);
- }
- if (sdcard != null) {
- mSdkLog.printf(" Sdcard: %s\n", sdcard);
+ if (properties != null) {
+ String skin = properties.get(AvdManager.AVD_INI_SKIN_NAME);
+ if (skin != null) {
+ mSdkLog.printf(" Skin: %s\n", skin);
+ }
+ String sdcard = properties.get(AvdManager.AVD_INI_SDCARD_SIZE);
+ if (sdcard == null) {
+ sdcard = properties.get(AvdManager.AVD_INI_SDCARD_PATH);
+ }
+ if (sdcard != null) {
+ mSdkLog.printf(" Sdcard: %s\n", sdcard);
+ }
}
}
}
try {
- boolean removePrevious = false;
+ boolean removePrevious = mSdkCommandLine.getFlagForce();
AvdManager avdManager = new AvdManager(mSdkManager, mSdkLog);
String avdName = mSdkCommandLine.getParamName();
AvdInfo info = avdManager.getAvd(avdName, false /*validAvdOnly*/);
if (info != null) {
- if (mSdkCommandLine.getFlagForce()) {
- removePrevious = true;
+ if (removePrevious) {
mSdkLog.warning(
"Android Virtual Device '%s' already exists and will be replaced.",
avdName);
* @param targetHash the target hash
* @param target The target. Can be null, if the target was not resolved.
* @param properties The property map. Can be null.
- * @param error The error describing why this AVD is invalid. Cannot be null.
+ * @param status The {@link AvdStatus} of this AVD. Cannot be null.
*/
public AvdInfo(String name, String path, String targetHash, IAndroidTarget target,
Map<String, String> properties, AvdStatus status) {
mPath = path;
mTargetHash = targetHash;
mTarget = target;
- mProperties = Collections.unmodifiableMap(properties);
+ mProperties = properties == null ? null : Collections.unmodifiableMap(properties);
mStatus = status;
}
return mTargetHash;
}
- /** Returns the target of the AVD, or <code>null</code> if it has not been resolved */
+ /** Returns the target of the AVD, or <code>null</code> if it has not been resolved. */
public IAndroidTarget getTarget() {
return mTarget;
}
}
/**
- * Returns a map of properties for the AVD.
+ * Returns an unmodifiable map of properties for the AVD. This can be null.
*/
public Map<String, String> getProperties() {
return mProperties;
// create a new map
Map<String, String> properties = new HashMap<String, String>();
- properties.putAll(oldProperties);
+ if (oldProperties != null) {
+ properties.putAll(oldProperties);
+ }
AvdStatus status;