From 842122bcf94ee769e6d8a759eabebb556e2587ab Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 21 Oct 2009 12:30:21 -0700 Subject: [PATCH] SDK android "update project" must not require --target parameter. SDK BUG 2203846 Change-Id: I235da4a8892de9a4334d5630667484220472f168 --- .../app/src/com/android/sdkmanager/Main.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java b/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java index 84195d1f8..55d435750 100644 --- a/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java +++ b/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java @@ -291,11 +291,11 @@ public class Main { // get the target and try to resolve it. int targetId = resolveTargetName(mSdkCommandLine.getParamTargetId()); IAndroidTarget[] targets = mSdkManager.getTargets(); - if (targetId < 1 || targetId > targets.length) { + if (targetId == INVALID_TARGET_ID || targetId > targets.length) { errorAndExit("Target id is not valid. Use '%s list targets' to get the target ids.", SdkConstants.androidCmdName()); } - IAndroidTarget target = targets[targetId - 1]; + IAndroidTarget target = targets[targetId - 1]; // target id is 1-based ProjectCreator creator = new ProjectCreator(mOsSdkFolder, mSdkCommandLine.isVerbose() ? OutputLevel.VERBOSE : @@ -462,14 +462,18 @@ public class Main { private void updateProject() { // get the target and try to resolve it. IAndroidTarget target = null; - int targetId = resolveTargetName(mSdkCommandLine.getParamTargetId()); - if (targetId >= 0) { + String targetStr = mSdkCommandLine.getParamTargetId(); + // For "update project" the target parameter is optional so having null is acceptable. + // However if there's a value, it must be valid. + if (targetStr != null) { IAndroidTarget[] targets = mSdkManager.getTargets(); - if (targetId < 1 || targetId > targets.length) { - errorAndExit("Target id is not valid. Use '%s list targets' to get the target ids.", + int targetId = resolveTargetName(targetStr); + if (targetId == INVALID_TARGET_ID || targetId > targets.length) { + errorAndExit("Target id '%1$s' is not valid. Use '%2$s list targets' to get the target ids.", + targetStr, SdkConstants.androidCmdName()); } - target = targets[targetId - 1]; + target = targets[targetId - 1]; // target id is 1-based } ProjectCreator creator = new ProjectCreator(mOsSdkFolder, @@ -715,15 +719,15 @@ public class Main { private void createAvd() { // find a matching target int targetId = resolveTargetName(mSdkCommandLine.getParamTargetId()); - IAndroidTarget target = null; + IAndroidTarget[] targets = mSdkManager.getTargets(); - if (targetId >= 1 && targetId <= mSdkManager.getTargets().length) { - target = mSdkManager.getTargets()[targetId-1]; // target it is 1-based - } else { + if (targetId == INVALID_TARGET_ID || targetId > targets.length) { errorAndExit("Target id is not valid. Use '%s list targets' to get the target ids.", SdkConstants.androidCmdName()); } + IAndroidTarget target = targets[targetId-1]; // target id is 1-based + try { boolean removePrevious = mSdkCommandLine.getFlagForce(); AvdManager avdManager = new AvdManager(mSdkManager, mSdkLog);