diff options
author | Tor Norbye <tnorbye@google.com> | 2012-05-24 20:43:59 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2012-05-25 08:10:41 -0700 |
commit | 99e631c489877affbf11ecfba441844cfcd0299e (patch) | |
tree | a90bd31be59658eb1700f1a88b5f5575e6280ee4 /eclipse/plugins/com.android.ide.eclipse.adt | |
parent | 631b384f32459fd99b29d9843ea2dbd2b8e533c9 (diff) | |
download | sdk-99e631c489877affbf11ecfba441844cfcd0299e.zip sdk-99e631c489877affbf11ecfba441844cfcd0299e.tar.gz sdk-99e631c489877affbf11ecfba441844cfcd0299e.tar.bz2 |
Fix misc minor issues
Fixes some NPEs and avoid logging a common issue
(which is already listed inline in the layout editor
error display).
Change-Id: I6a62f37ec845ca081e1dc7fc8ad857a7ec4e9a29
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt')
6 files changed, 27 insertions, 10 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java index 8f50001..89dd263 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java @@ -472,7 +472,10 @@ public class LayoutEditorDelegate extends CommonXmlDelegate } if (job != null) { - job.addJobChangeListener(new LintJobListener(getGraphicalEditor())); + GraphicalEditorPart graphicalEditor = getGraphicalEditor(); + if (graphicalEditor != null) { + job.addJobChangeListener(new LintJobListener(graphicalEditor)); + } } return job; } @@ -483,7 +486,7 @@ public class LayoutEditorDelegate extends CommonXmlDelegate LintJobListener(GraphicalEditorPart editor) { mEditor = editor; - mCanvas = editor.getCanvasControl();; + mCanvas = editor.getCanvasControl(); } @Override diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java index 1fa3f06..5330752 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java @@ -1020,7 +1020,11 @@ public class ConfigurationComposite extends Composite implements SelectionListen } private IAndroidTarget getSelectedTarget() { - return (IAndroidTarget) mTargetCombo.getData(); + if (!mTargetCombo.isDisposed()) { + return (IAndroidTarget) mTargetCombo.getData(); + } + + return null; } void selectTheme(String theme) { diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java index 954305e..2154179 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java @@ -663,7 +663,11 @@ public class LayoutCanvas extends Canvas { * rendered image, but it will never zoom in. */ void setFitScale(boolean onlyZoomOut) { - Image image = getImageOverlay().getImage(); + ImageOverlay imageOverlay = getImageOverlay(); + if (imageOverlay == null) { + return; + } + Image image = imageOverlay.getImage(); if (image != null) { Rectangle canvasSize = getClientArea(); int canvasWidth = canvasSize.width; diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java index 74bc4f5..9b0d7a6 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java @@ -144,15 +144,20 @@ class RenderLogger extends LayoutLog { @Override public void warning(String tag, String message, Object data) { String description = describe(message); - AdtPlugin.log(IStatus.WARNING, "%1$s: %2$s", mName, description); + boolean log = true; if (TAG_RESOURCES_FORMAT.equals(tag)) { if (description.equals("You must supply a layout_width attribute.") //$NON-NLS-1$ || description.equals("You must supply a layout_height attribute.")) {//$NON-NLS-1$ tag = TAG_MISSING_DIMENSION; + log = false; } } + if (log) { + AdtPlugin.log(IStatus.WARNING, "%1$s: %2$s", mName, description); + } + addWarning(tag, description); } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/UiModelTreeLabelProvider.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/UiModelTreeLabelProvider.java index f2ab512..3373197 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/UiModelTreeLabelProvider.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/UiModelTreeLabelProvider.java @@ -17,8 +17,8 @@ package com.android.ide.eclipse.adt.internal.editors.ui.tree; import com.android.ide.eclipse.adt.AdtPlugin; +import com.android.ide.eclipse.adt.internal.editors.IconFactory; import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor; -import com.android.ide.eclipse.adt.internal.editors.ui.ErrorImageComposite; import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode; import org.eclipse.jface.viewers.ILabelProvider; @@ -56,8 +56,7 @@ public class UiModelTreeLabelProvider implements ILabelProvider { Image img = desc.getCustomizedIcon(); if (img != null) { if (node != null && node.hasError()) { - //TODO: cache image - return new ErrorImageComposite(img).createImage(); + return IconFactory.getInstance().addErrorIcon(img); } else { return img; } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintListDialog.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintListDialog.java index bd42906..147327d 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintListDialog.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintListDialog.java @@ -20,6 +20,7 @@ import com.android.annotations.Nullable; import com.android.ide.eclipse.adt.AdtPlugin; import com.android.ide.eclipse.adt.AdtUtils; import com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor; +import com.android.ide.eclipse.adt.internal.editors.IconFactory; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarker; @@ -53,7 +54,7 @@ import java.util.Set; @SuppressWarnings("restriction") // WST DOM access class LintListDialog extends TitleAreaDialog implements SelectionListener { - private static final String PROJECT_LOGO_LARGE = "icons/android-64.png"; //$NON-NLS-1$ + private static final String PROJECT_LOGO_LARGE = "android-64"; //$NON-NLS-1$ private final IFile mFile; private final IEditorPart mEditor; private Button mFixButton; @@ -90,7 +91,8 @@ class LintListDialog extends TitleAreaDialog implements SelectionListener { Control contents = super.createContents(parent); setTitle("Lint Warnings in Layout"); setMessage("Lint Errors found for the current layout:"); - setTitleImage(AdtPlugin.getImageDescriptor(PROJECT_LOGO_LARGE).createImage()); + setTitleImage(IconFactory.getInstance().getIcon(PROJECT_LOGO_LARGE)); + return contents; } |