OSDN Git Service

Fix computeSdkVersion initialization
authorTor Norbye <tnorbye@google.com>
Thu, 20 Jan 2011 01:50:18 +0000 (17:50 -0800)
committerTor Norbye <tnorbye@google.com>
Thu, 20 Jan 2011 22:36:37 +0000 (14:36 -0800)
Change-Id: I0c8cc49eb403f207845ee8167872b6c318ee3b82

eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java

index f396a71..9dff02f 100644 (file)
@@ -922,6 +922,8 @@ public class GraphicalEditorPart extends EditorPart
             IAndroidTarget oldTarget = getRenderingTarget();
             preRenderingTargetChangeCleanUp(oldTarget);
 
+            computeSdkVersion();
+
             // get the project target
             Sdk currentSdk = Sdk.getCurrent();
             if (currentSdk != null) {
@@ -2396,20 +2398,19 @@ public class GraphicalEditorPart extends EditorPart
         if (manifestFile != null) {
             try {
                 Object value = AndroidManifest.getMinSdkVersion(manifestFile);
+                mMinSdkVersion = 1; // Default case if missing
                 if (value instanceof Integer) {
                     mMinSdkVersion = ((Integer) value).intValue();
                 } else if (value instanceof String) {
-                    // handle codename
-                    IAndroidTarget target = Sdk.getCurrent().getTargetFromHashString(
-                            "android-" + value); //$NON-NLS-1$
-                    if (target == null) {
-                        mMinSdkVersion = 1; // missing value? same as api 1
-                    } else {
-                        // codename future API level is current api + 1
-                        mMinSdkVersion = target.getVersion().getApiLevel() + 1;
+                    // handle codename, only if we can resolve it.
+                    if (Sdk.getCurrent() != null) {
+                        IAndroidTarget target = Sdk.getCurrent().getTargetFromHashString(
+                                "android-" + value); //$NON-NLS-1$
+                        if (target != null) {
+                            // codename future API level is current api + 1
+                            mMinSdkVersion = target.getVersion().getApiLevel() + 1;
+                        }
                     }
-                } else {
-                    mMinSdkVersion = 1; // missing value? same as api 1
                 }
 
                 Integer i = AndroidManifest.getTargetSdkVersion(manifestFile);