From bacd7355b08936f53dc0d0fd3a8d803b05d60208 Mon Sep 17 00:00:00 2001 From: Raphael Moll <> Date: Thu, 16 Apr 2009 12:59:01 -0700 Subject: AI 146597: am: CL 146595 ADT #1794560: prevent from loading more than one SDK at once. Original author: raphael Merged from: //branches/cupcake/... Automated import of CL 146597 --- .../src/com/android/ide/eclipse/adt/AdtPlugin.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'eclipse') diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java index 4a7a002..b5cee81 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java @@ -177,6 +177,8 @@ public class AdtPlugin extends AbstractUIPlugin { private ArrayList mTargetChangeListeners = new ArrayList(); + protected boolean mSdkIsLoading; + /** * Custom PrintStream for Dx output. This class overrides the method * println() and adds the standard output tag with the @@ -1010,7 +1012,15 @@ public class AdtPlugin extends AbstractUIPlugin { @SuppressWarnings("unchecked") @Override protected IStatus run(IProgressMonitor monitor) { - try { + try { + + if (mSdkIsLoading) { + return new Status(IStatus.WARNING, PLUGIN_ID, + "An Android SDK is already being loaded. Please try again later."); + } + + mSdkIsLoading = true; + SubMonitor progress = SubMonitor.convert(monitor, "Initialize SDK Manager", 100); @@ -1093,6 +1103,7 @@ public class AdtPlugin extends AbstractUIPlugin { } }); } finally { + mSdkIsLoading = false; if (monitor != null) { monitor.done(); } -- cgit v1.1