AI 146980: Fix the display of the target hash string when displaying unresolved target errors.

BUG=1800971

Automated import of CL 146980
This commit is contained in:
Xavier Ducrohet
2009-04-20 14:09:05 -07:00
committed by The Android Open Source Project
parent 9d6afd51c8
commit ea690c2a8f

View File

@@ -152,6 +152,7 @@ public final class AvdManager {
private final String mName; private final String mName;
private final String mPath; private final String mPath;
private final String mTargetHash;
private final IAndroidTarget mTarget; private final IAndroidTarget mTarget;
private final Map<String, String> mProperties; private final Map<String, String> mProperties;
private final AvdStatus mStatus; private final AvdStatus mStatus;
@@ -164,12 +165,13 @@ public final class AvdManager {
* *
* @param name The name of the AVD (for display or reference) * @param name The name of the AVD (for display or reference)
* @param path The path to the config.ini file * @param path The path to the config.ini file
* @param target The target. Cannot be null. * @param targetHash the target hash
* @param target The target. Can be null, if the target was not resolved.
* @param properties The property map. Cannot be null. * @param properties The property map. Cannot be null.
*/ */
public AvdInfo(String name, String path, IAndroidTarget target, public AvdInfo(String name, String path, String targetHash, IAndroidTarget target,
Map<String, String> properties) { Map<String, String> properties) {
this(name, path, target, properties, AvdStatus.OK); this(name, path, targetHash, target, properties, AvdStatus.OK);
} }
/** /**
@@ -180,14 +182,16 @@ public final class AvdManager {
* *
* @param name The name of the AVD (for display or reference) * @param name The name of the AVD (for display or reference)
* @param path The path to the config.ini file * @param path The path to the config.ini file
* @param target The target. Can be null. * @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 properties The property map. Can be null.
* @param error The error describing why this AVD is invalid. Cannot be null. * @param error The error describing why this AVD is invalid. Cannot be null.
*/ */
public AvdInfo(String name, String path, IAndroidTarget target, public AvdInfo(String name, String path, String targetHash, IAndroidTarget target,
Map<String, String> properties, AvdStatus status) { Map<String, String> properties, AvdStatus status) {
mName = name; mName = name;
mPath = path; mPath = path;
mTargetHash = targetHash;
mTarget = target; mTarget = target;
mProperties = Collections.unmodifiableMap(properties); mProperties = Collections.unmodifiableMap(properties);
mStatus = status; mStatus = status;
@@ -203,7 +207,14 @@ public final class AvdManager {
return mPath; return mPath;
} }
/** Returns the target of the AVD. */ /**
* Returns the target hash string.
*/
public String getTargetHash() {
return mTargetHash;
}
/** Returns the target of the AVD, or <code>null</code> if it has not been resolved */
public IAndroidTarget getTarget() { public IAndroidTarget getTarget() {
return mTarget; return mTarget;
} }
@@ -267,8 +278,7 @@ public final class AvdManager {
return String.format("Missing 'target' property in %1$s", getIniFile()); return String.format("Missing 'target' property in %1$s", getIniFile());
case ERROR_TARGET: case ERROR_TARGET:
return String.format("Unknown target '%1$s' in %2$s", return String.format("Unknown target '%1$s' in %2$s",
getProperties().get(AvdManager.AVD_INFO_TARGET), mTargetHash, getIniFile());
getIniFile());
case ERROR_PROPERTIES: case ERROR_PROPERTIES:
return String.format("Failed to parse properties from %1$s", return String.format("Failed to parse properties from %1$s",
getConfigFile()); getConfigFile());
@@ -561,7 +571,8 @@ public final class AvdManager {
} }
// create the AvdInfo object, and add it to the list // create the AvdInfo object, and add it to the list
AvdInfo avdInfo = new AvdInfo(name, avdFolder.getAbsolutePath(), target, values); AvdInfo avdInfo = new AvdInfo(name, avdFolder.getAbsolutePath(), target.hashString(),
target, values);
synchronized (mAllAvdList) { synchronized (mAllAvdList) {
mAllAvdList.add(avdInfo); mAllAvdList.add(avdInfo);
@@ -782,8 +793,8 @@ public final class AvdManager {
} }
// update AVD info // update AVD info
AvdInfo info = new AvdInfo(avdInfo.getName(), paramFolderPath, avdInfo.getTarget(), AvdInfo info = new AvdInfo(avdInfo.getName(), paramFolderPath,
avdInfo.getProperties()); avdInfo.getTargetHash(), avdInfo.getTarget(), avdInfo.getProperties());
replaceAvd(avdInfo, info); replaceAvd(avdInfo, info);
// update the ini file // update the ini file
@@ -802,8 +813,8 @@ public final class AvdManager {
} }
// update AVD info // update AVD info
AvdInfo info = new AvdInfo(newName, avdInfo.getPath(), avdInfo.getTarget(), AvdInfo info = new AvdInfo(newName, avdInfo.getPath(),
avdInfo.getProperties()); avdInfo.getTargetHash(), avdInfo.getTarget(), avdInfo.getProperties());
replaceAvd(avdInfo, info); replaceAvd(avdInfo, info);
} }
@@ -970,6 +981,7 @@ public final class AvdManager {
AvdInfo info = new AvdInfo( AvdInfo info = new AvdInfo(
name, name,
avdPath, avdPath,
targetHash,
target, target,
properties, properties,
status); status);
@@ -1195,6 +1207,7 @@ public final class AvdManager {
AvdInfo newAvd = new AvdInfo( AvdInfo newAvd = new AvdInfo(
name, name,
avd.getPath(), avd.getPath(),
avd.getTargetHash(),
avd.getTarget(), avd.getTarget(),
properties, properties,
status); status);