From f9c1810c87aeb0e46301203458a3d499881ed85a Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 12 Sep 2011 16:24:45 -0700 Subject: [PATCH] Fix a couple potential NPEs in ADT and AVD Manager. In ADT, fix a potential NPE when reading manifest data. In AVD Manager, fix a potential NPE if the AVD manager tries to print the path of the AVD folder but AndroidPrefs failed to find a suitable location. Change-Id: Ib2df005b270bcd11e96f16430d2983474478d9eb --- .../eclipse/adt/internal/editors/manifest/ManifestInfo.java | 3 ++- .../sdkuilib/internal/repository/sdkman1/AvdManagerPage.java | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestInfo.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestInfo.java index ec61fed40..007b540d9 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestInfo.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestInfo.java @@ -376,7 +376,8 @@ public class ManifestInfo { IType declaringType = method.getDeclaringType(); String fqcn = declaringType.getFullyQualifiedName(); if (activity.get() == null - || declaringType.getSuperclassName().endsWith("Activity") //$NON-NLS-1$ + || (declaringType.getSuperclassName() != null && + declaringType.getSuperclassName().endsWith("Activity")) //$NON-NLS-1$ || method.getElementName().equals("onCreate")) { //$NON-NLS-1$ activity.set(fqcn); } diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman1/AvdManagerPage.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman1/AvdManagerPage.java index 7af1d20d8..56fda08a7 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman1/AvdManagerPage.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman1/AvdManagerPage.java @@ -57,9 +57,13 @@ public class AvdManagerPage extends UpdaterPage implements ISdkChangeListener { label.setLayoutData(new GridData()); try { - label.setText(String.format( - "List of existing Android Virtual Devices located at %s", - mUpdaterData.getAvdManager().getBaseAvdFolder())); + if (mUpdaterData != null && mUpdaterData.getAvdManager() != null) { + label.setText(String.format( + "List of existing Android Virtual Devices located at %s", + mUpdaterData.getAvdManager().getBaseAvdFolder())); + } else { + label.setText("Error: cannot find the AVD folder location.\r\n Please set the 'ANDROID_SDK_HOME' env variable."); + } } catch (AndroidLocationException e) { label.setText(e.getMessage()); } -- 2.11.0