OSDN Git Service

SDK Manager: Make AVD names case-insensitive under Windows.
authorRaphael <raphael@google.com>
Thu, 25 Mar 2010 22:54:26 +0000 (15:54 -0700)
committerRaphael <raphael@google.com>
Fri, 26 Mar 2010 21:08:25 +0000 (14:08 -0700)
SDK Bug 2545530

Change-Id: I015b62ad21aea8fdf741b733d2c5f2a2b08d9e73

sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/AvdManager.java

index cc679cf..c4914b2 100644 (file)
@@ -432,22 +432,29 @@ public final class AvdManager {
 
     /**
      * Returns the {@link AvdInfo} matching the given <var>name</var>.
+     * <p/>
+     * The search is case-insensitive.
+     *
      * @param name the name of the AVD to return
      * @param validAvdOnly if <code>true</code>, only look through the list of valid AVDs.
      * @return the matching AvdInfo or <code>null</code> if none were found.
      */
     public AvdInfo getAvd(String name, boolean validAvdOnly) {
 
+        boolean ignoreCase = SdkConstants.currentPlatform() == SdkConstants.PLATFORM_WINDOWS;
+
         if (validAvdOnly) {
             for (AvdInfo info : getValidAvds()) {
-                if (info.getName().equals(name)) {
+                String name2 = info.getName();
+                if (name2.equals(name) || (ignoreCase && name2.equalsIgnoreCase(name))) {
                     return info;
                 }
             }
         } else {
             synchronized (mAllAvdList) {
                 for (AvdInfo info : mAllAvdList) {
-                    if (info.getName().equals(name)) {
+                    String name2 = info.getName();
+                    if (name2.equals(name) || (ignoreCase && name2.equalsIgnoreCase(name))) {
                         return info;
                     }
                 }