aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThe Android Open-Source Project <initial-contribution@android.com>2011-08-29 17:54:36 -0700
committerThe Android Open-Source Project <initial-contribution@android.com>2011-08-29 17:54:36 -0700
commitd9e813f08e94442050d18dcc9ac5949577f7618a (patch)
treee1d6035b5acf661e27515fcb44e75c7e96b6ba03
parenta0c628e83eb5ed5a54a1108d7af1d2fe60632e22 (diff)
parentebaeee2f426a829bd6a1d52604995effb2484401 (diff)
downloadsdk-d9e813f08e94442050d18dcc9ac5949577f7618a.zip
sdk-d9e813f08e94442050d18dcc9ac5949577f7618a.tar.gz
sdk-d9e813f08e94442050d18dcc9ac5949577f7618a.tar.bz2
merge from open-source master
Change-Id: I7b7a0174af75b7b37b9f1c5dc0adf39ab5b9d332
-rw-r--r--ddms/libs/ddmuilib/src/com/android/ddmuilib/NativeHeapPanel.java11
-rw-r--r--ddms/libs/ddmuilib/src/com/android/ddmuilib/log/event/EventDisplay.java5
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/AndroidXmlFormatter.java10
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ImageOverlay.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java1
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/AndroidManifestDescriptors.java14
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java3
-rw-r--r--sdkmanager/app/src/com/android/sdkmanager/CommandLineProcessor.java4
-rw-r--r--sdkmanager/app/src/com/android/sdkmanager/Main.java6
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java9
-rwxr-xr-xsdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ArchiveInstaller.java40
-rwxr-xr-xsdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/SdkSource.java4
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/UrlOpener.java7
-rwxr-xr-xsdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java4
-rwxr-xr-xsdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/PkgCategory.java2
-rwxr-xr-xsdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkLogAdapter.java8
-rw-r--r--sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdDetailsDialog.java6
17 files changed, 74 insertions, 66 deletions
diff --git a/ddms/libs/ddmuilib/src/com/android/ddmuilib/NativeHeapPanel.java b/ddms/libs/ddmuilib/src/com/android/ddmuilib/NativeHeapPanel.java
index c7f7b4f..cc721bd 100644
--- a/ddms/libs/ddmuilib/src/com/android/ddmuilib/NativeHeapPanel.java
+++ b/ddms/libs/ddmuilib/src/com/android/ddmuilib/NativeHeapPanel.java
@@ -16,14 +16,14 @@
package com.android.ddmuilib;
+import com.android.ddmlib.AndroidDebugBridge.IClientChangeListener;
import com.android.ddmlib.Client;
import com.android.ddmlib.ClientData;
+import com.android.ddmlib.HeapSegment.HeapSegmentElement;
import com.android.ddmlib.Log;
import com.android.ddmlib.NativeAllocationInfo;
import com.android.ddmlib.NativeLibraryMapInfo;
import com.android.ddmlib.NativeStackCallInfo;
-import com.android.ddmlib.AndroidDebugBridge.IClientChangeListener;
-import com.android.ddmlib.HeapSegment.HeapSegmentElement;
import com.android.ddmuilib.annotation.WorkerThread;
import org.eclipse.jface.preference.IPreferenceStore;
@@ -224,10 +224,11 @@ public final class NativeHeapPanel extends BaseHeapPanel {
private static DecimalFormat sFormatter;
static {
sFormatter = (DecimalFormat)NumberFormat.getInstance();
- if (sFormatter != null)
+ if (sFormatter == null) {
sFormatter = new DecimalFormat("#,###");
- else
+ } else {
sFormatter.applyPattern("#,###");
+ }
}
@@ -236,7 +237,7 @@ public final class NativeHeapPanel extends BaseHeapPanel {
* address several times.
*/
private HashMap<Long, NativeStackCallInfo> mSourceCache =
- new HashMap<Long,NativeStackCallInfo>();
+ new HashMap<Long, NativeStackCallInfo>();
private long mTotalSize;
private Button mSaveButton;
private Button mSymbolsButton;
diff --git a/ddms/libs/ddmuilib/src/com/android/ddmuilib/log/event/EventDisplay.java b/ddms/libs/ddmuilib/src/com/android/ddmuilib/log/event/EventDisplay.java
index 2223a4d..7fdb403 100644
--- a/ddms/libs/ddmuilib/src/com/android/ddmuilib/log/event/EventDisplay.java
+++ b/ddms/libs/ddmuilib/src/com/android/ddmuilib/log/event/EventDisplay.java
@@ -23,6 +23,7 @@ import com.android.ddmlib.log.EventContainer.EventValueType;
import com.android.ddmlib.log.EventLogParser;
import com.android.ddmlib.log.EventValueDescription.ValueType;
import com.android.ddmlib.log.InvalidTypeException;
+
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
@@ -432,7 +433,7 @@ abstract class EventDisplay {
void setPidFilterList(ArrayList<Integer> pids) {
if (mPidFiltering == false) {
- new InvalidParameterException();
+ throw new InvalidParameterException();
}
mPidFilterList = pids;
@@ -444,7 +445,7 @@ abstract class EventDisplay {
void addPidFiler(int pid) {
if (mPidFiltering == false) {
- new InvalidParameterException();
+ throw new InvalidParameterException();
}
if (mPidFilterList == null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/AndroidXmlFormatter.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/AndroidXmlFormatter.java
index d48a89f..2847b35 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/AndroidXmlFormatter.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/AndroidXmlFormatter.java
@@ -57,15 +57,7 @@ public class AndroidXmlFormatter implements IContentFormatter, IContentFormatter
public void format(IDocument document, IFormattingContext context) {
context.setProperty(FormattingContextProperties.CONTEXT_MEDIUM, document);
- if (document == null) {
- IRegion region =
- (IRegion) context.getProperty(FormattingContextProperties.CONTEXT_REGION);
- if (region != null) {
- formatMaster(context, document, region.getOffset(), region.getLength());
- }
- } else {
- formatMaster(context, document, 0, document.getLength());
- }
+ formatMaster(context, document, 0, document.getLength());
}
protected void formatMaster(IFormattingContext context, IDocument document, int offset,
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ImageOverlay.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ImageOverlay.java
index 9deb0d5..1611351 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ImageOverlay.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ImageOverlay.java
@@ -171,6 +171,12 @@ public class ImageOverlay extends Overlay implements IImageFactory {
double xScale = hi.getScalledImgSize() / (double) mAwtImage.getWidth();
double yScale = vi.getScalledImgSize() / (double) mAwtImage.getHeight();
BufferedImage scaledAwtImage;
+
+ // NOTE: == comparison on floating point numbers is okay
+ // here because we normalize the scaling factor
+ // to an exact 1.0 in the zooming code when the value gets
+ // near 1.0 to make painting more efficient in the presence
+ // of rounding errors.
if (xScale == 1.0 && yScale == 1.0) {
// Scaling to 100% is easy!
scaledAwtImage = mAwtImage;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java
index 4f9a6ba..a9b0a8f 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java
@@ -395,7 +395,6 @@ public class ExtractIncludeRefactoring extends VisualRefactoring {
IFolder resources = mProject.getFolder(SdkConstants.FD_RESOURCES);
try {
for (IResource folder : resources.members()) {
- assert resources != null;
if (folder.getName().startsWith(AndroidConstants.FD_RES_LAYOUT) &&
folder instanceof IFolder) {
IFolder layoutFolder = (IFolder) folder;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/AndroidManifestDescriptors.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/AndroidManifestDescriptors.java
index abc5008..bb35c01 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/AndroidManifestDescriptors.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/descriptors/AndroidManifestDescriptors.java
@@ -26,13 +26,13 @@ import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.editors.descriptors.AttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.DescriptorsUtils;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
+import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor.Mandatory;
import com.android.ide.eclipse.adt.internal.editors.descriptors.IDescriptorProvider;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ITextAttributeCreator;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ListAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ReferenceAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.TextAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.XmlnsAttributeDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor.Mandatory;
import com.android.sdklib.SdkConstants;
import org.eclipse.core.runtime.IStatus;
@@ -42,9 +42,9 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeSet;
-import java.util.Map.Entry;
/**
@@ -232,7 +232,7 @@ public final class AndroidManifestDescriptors implements IDescriptorProvider {
LayoutConstants.ANDROID_NS_NAME, SdkConstants.NS_RESOURCES);
insertAttribute(MANIFEST_ELEMENT, xmlns);
- sanityCheck(manifestMap, MANIFEST_ELEMENT);
+ assert sanityCheck(manifestMap, MANIFEST_ELEMENT);
}
/**
@@ -500,7 +500,7 @@ public final class AndroidManifestDescriptors implements IDescriptorProvider {
* manifestMap are actually defined in the actual element descriptors and reachable from
* the manifestElement root node.
*/
- private void sanityCheck(Map<String, DeclareStyleableInfo> manifestMap,
+ private boolean sanityCheck(Map<String, DeclareStyleableInfo> manifestMap,
ElementDescriptor manifestElement) {
TreeSet<String> elementsDeclared = new TreeSet<String>();
findAllElementNames(manifestElement, elementsDeclared);
@@ -526,7 +526,7 @@ public final class AndroidManifestDescriptors implements IDescriptorProvider {
for (String name : stylesDeclared) {
sb.append(guessXmlName(name));
- if (name != stylesDeclared.last()) {
+ if (!name.equals(stylesDeclared.last())) {
sb.append(", "); //$NON-NLS-1$
}
}
@@ -540,7 +540,7 @@ public final class AndroidManifestDescriptors implements IDescriptorProvider {
sb.append("Warning, ADT/SDK Mismatch! The following elements are declared by ADT but not by the SDK: ");
for (String name : elementsDeclared) {
sb.append(name);
- if (name != elementsDeclared.last()) {
+ if (!name.equals(elementsDeclared.last())) {
sb.append(", "); //$NON-NLS-1$
}
}
@@ -548,6 +548,8 @@ public final class AndroidManifestDescriptors implements IDescriptorProvider {
AdtPlugin.log(IStatus.WARNING, "%s", sb.toString());
AdtPlugin.printToConsole((String)null, sb);
}
+
+ return true;
}
/**
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java
index 97573e9..7ad974a 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java
@@ -42,6 +42,7 @@ import java.lang.reflect.Modifier;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
+import java.util.regex.Pattern;
/**
* A monitor for the compiled resources. This only monitors changes in the resources of type
@@ -111,7 +112,7 @@ public final class CompiledResourcesMonitor implements IFileListener, IProjectLi
String pathWithoutExtension = path.substring(0, path.indexOf(AdtConstants.DOT_CLASS));
// then split the components of each path by their separators
- String [] pathArray = pathWithoutExtension.split(File.separator);
+ String [] pathArray = pathWithoutExtension.split(Pattern.quote(File.separator));
String [] packageArray = packageName.split(AdtConstants.RE_DOT);
diff --git a/sdkmanager/app/src/com/android/sdkmanager/CommandLineProcessor.java b/sdkmanager/app/src/com/android/sdkmanager/CommandLineProcessor.java
index 58ce9ae..86c6141 100644
--- a/sdkmanager/app/src/com/android/sdkmanager/CommandLineProcessor.java
+++ b/sdkmanager/app/src/com/android/sdkmanager/CommandLineProcessor.java
@@ -644,8 +644,8 @@ class CommandLineProcessor {
arg.setCurrentValue(Integer.parseInt(extra));
return null;
} catch (NumberFormatException e) {
- return String.format("Failed to parse '%1$s' as an integer: %2%s",
- extra, e.getMessage());
+ return String.format("Failed to parse '%1$s' as an integer: %2$s", extra,
+ e.getMessage());
}
}
},
diff --git a/sdkmanager/app/src/com/android/sdkmanager/Main.java b/sdkmanager/app/src/com/android/sdkmanager/Main.java
index 10f0853..192e0a4 100644
--- a/sdkmanager/app/src/com/android/sdkmanager/Main.java
+++ b/sdkmanager/app/src/com/android/sdkmanager/Main.java
@@ -798,8 +798,7 @@ public class Main {
for (IOptionalLibrary library : libraries) {
mSdkLog.printf(" * %1$s (%2$s)\n",
library.getName(), library.getJarName());
- mSdkLog.printf(String.format(
- " %1$s\n", library.getDescription()));
+ mSdkLog.printf(" %1$s\n", library.getDescription());
}
}
}
@@ -1175,7 +1174,8 @@ public class Main {
File originalFolder = new File(
AndroidLocation.getFolder() + AndroidLocation.FOLDER_AVD,
info.getName() + AvdManager.AVD_FOLDER_EXTENSION);
- if (originalFolder.equals(info.getDataFolderPath())) {
+ if (info.getDataFolderPath() != null &&
+ originalFolder.equals(new File(info.getDataFolderPath()))) {
try {
// The AVD is using the default data folder path based on the AVD name.
// That folder needs to be adjusted to use the new name.
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
index 9cac373..fd7e94e 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
@@ -1113,8 +1113,8 @@ public class ProjectCreator {
while ((line = in.readLine()) != null) {
if (placeholderMap != null) {
- for (String key : placeholderMap.keySet()) {
- line = line.replace(key, placeholderMap.get(key));
+ for (Map.Entry<String, String> entry : placeholderMap.entrySet()) {
+ line = line.replace(entry.getKey(), entry.getValue());
}
}
@@ -1174,8 +1174,9 @@ public class ProjectCreator {
* Installs a binary file
* @param source the source file to copy
* @param destination the destination file to write
+ * @throws ProjectCreateException
*/
- private void installBinaryFile(File source, File destination) {
+ private void installBinaryFile(File source, File destination) throws ProjectCreateException {
byte[] buffer = new byte[8192];
FileInputStream fis = null;
@@ -1192,7 +1193,7 @@ public class ProjectCreator {
} catch (FileNotFoundException e) {
// shouldn't happen since we check before.
} catch (IOException e) {
- new ProjectCreateException(e, "Failed to read binary file: %1$s",
+ throw new ProjectCreateException(e, "Failed to read binary file: %1$s",
source.getAbsolutePath());
} finally {
if (fis != null) {
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ArchiveInstaller.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ArchiveInstaller.java
index 06e64df..bc95c0c 100755
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ArchiveInstaller.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ArchiveInstaller.java
@@ -106,10 +106,9 @@ public class ArchiveInstaller {
ITaskMonitor monitor,
boolean forceHttp) {
- String name = archive.getParentPackage().getShortDescription();
- String desc = String.format("Downloading %1$s", name);
- monitor.setDescription(desc);
- monitor.log(desc);
+ String pkgName = archive.getParentPackage().getShortDescription();
+ monitor.setDescription("Downloading %1$s", pkgName);
+ monitor.log("Downloading %1$s", pkgName);
String link = archive.getUrl();
if (!link.startsWith("http://") //$NON-NLS-1$
@@ -119,7 +118,7 @@ public class ArchiveInstaller {
Package pkg = archive.getParentPackage();
SdkSource src = pkg.getParentSource();
if (src == null) {
- monitor.logError("Internal error: no source for archive %1$s", name);
+ monitor.logError("Internal error: no source for archive %1$s", pkgName);
return null;
}
@@ -180,7 +179,7 @@ public class ArchiveInstaller {
OsHelper.deleteFileOrFolder(tmpFile);
}
- if (fetchUrl(archive, tmpFile, link, desc, monitor)) {
+ if (fetchUrl(archive, tmpFile, link, pkgName, monitor)) {
// Fetching was successful, let's use this file.
return tmpFile;
} else {
@@ -216,7 +215,7 @@ public class ArchiveInstaller {
monitor.logError("File not found: %1$s", e.getMessage());
} catch (Exception e) {
- monitor.logError(e.getMessage());
+ monitor.logError("%1$s", e.getMessage()); //$NON-NLS-1$
} finally {
if (is != null) {
@@ -263,11 +262,9 @@ public class ArchiveInstaller {
private boolean fetchUrl(Archive archive,
File tmpFile,
String urlString,
- String description,
+ String pkgName,
ITaskMonitor monitor) {
- description += " (%1$d%%, %2$.0f KiB/s, %3$d %4$s left)";
-
FileOutputStream os = null;
InputStream is = null;
try {
@@ -318,7 +315,13 @@ public class ArchiveInstaller {
timeLeft /= 60;
}
- monitor.setDescription(description, percent, speed, timeLeft, timeUnit);
+ monitor.setDescription(
+ "Downloading %1$s (%2$d%%, %3$.0f KiB/s, %4$d %5$s left)",
+ pkgName,
+ percent,
+ speed,
+ timeLeft,
+ timeUnit);
}
nextMs = timeMs + 1000; // update every second
}
@@ -353,7 +356,7 @@ public class ArchiveInstaller {
monitor.logError("File not found: %1$s", e.getMessage());
} catch (Exception e) {
- monitor.logError(e.getMessage());
+ monitor.logError("%1$s", e.getMessage()); //$NON-NLS-1$
} finally {
if (os != null) {
@@ -387,9 +390,8 @@ public class ArchiveInstaller {
boolean success = false;
Package pkg = archive.getParentPackage();
String pkgName = pkg.getShortDescription();
- String pkgDesc = String.format("Installing %1$s", pkgName);
- monitor.setDescription(pkgDesc);
- monitor.log(pkgDesc);
+ monitor.setDescription("Installing %1$s", pkgName);
+ monitor.log("Installing %1$s", pkgName);
// Ideally we want to always unzip in a temp folder which name depends on the package
// type (e.g. addon, tools, etc.) and then move the folder to the destination folder.
@@ -491,7 +493,7 @@ public class ArchiveInstaller {
return false;
}
- if (!unzipFolder(archiveFile, archive.getSize(), destFolder, pkgDesc, monitor)) {
+ if (!unzipFolder(archiveFile, archive.getSize(), destFolder, pkgName, monitor)) {
return false;
}
@@ -574,11 +576,9 @@ public class ArchiveInstaller {
private boolean unzipFolder(File archiveFile,
long compressedSize,
File unzipDestFolder,
- String description,
+ String pkgName,
ITaskMonitor monitor) {
- description += " (%1$d%%)";
-
ZipFile zipFile = null;
try {
zipFile = new ZipFile(archiveFile);
@@ -675,7 +675,7 @@ public class ArchiveInstaller {
int percent = (int) (100 * incTotal / compressedSize);
if (percent != lastPercent) {
- monitor.setDescription(description, percent);
+ monitor.setDescription("Unzipping %1$s (%2$d%%)", pkgName, percent);
lastPercent = percent;
}
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/SdkSource.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/SdkSource.java
index 0f33732..ed40d54 100755
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/SdkSource.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/SdkSource.java
@@ -289,7 +289,7 @@ public abstract class SdkSource implements IDescription, Comparable<SdkSource> {
}
if (xml != null) {
- monitor.setDescription(String.format("Validate XML: %1$s", url));
+ monitor.setDescription("Validate XML: %1$s", url);
ITaskMonitor subMonitor = monitor.createSubMonitor(2);
subMonitor.setProgressMax(2);
@@ -439,7 +439,7 @@ public abstract class SdkSource implements IDescription, Comparable<SdkSource> {
monitor.incProgress(1);
if (xml != null) {
- monitor.setDescription(String.format("Parse XML: %1$s", url));
+ monitor.setDescription("Parse XML: %1$s", url);
monitor.incProgress(1);
parsePackages(validatedDoc, validatedUri, monitor);
if (mPackages == null || mPackages.length == 0) {
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/UrlOpener.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/UrlOpener.java
index 142a77a..74f2b29 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/UrlOpener.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/UrlOpener.java
@@ -191,6 +191,13 @@ public class UrlOpener {
else {
// Use a buffered entity because the stream in which it will
// be transfered, will not be closed later, unexpectedly
+
+ // TODO: an unfortunate side effect is that creating the BufferedHttpEntity
+ // seems to perform the *actual* download (looking at it, there's a buffer
+ // being filled in there). So the caller doesn't have a chance to produce
+ // a meaningful callback with download speed/ETA stats.
+ // Behavior might be different with a slower network.
+
BufferedHttpEntity bufferedEntity = new BufferedHttpEntity(entity);
stream = bufferedEntity.getContent();
}
diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java
index dc4beb1..1dce2d9 100755
--- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java
+++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java
@@ -510,8 +510,8 @@ public class UpdaterData implements IUpdaterData {
baos.toString());
}
- monitor.log(msg);
- mSdkLog.error(t, msg);
+ monitor.log( "%1$s", msg); //$NON-NLS-1$
+ mSdkLog.error(t, "%1$s", msg); //$NON-NLS-1$
} finally {
// Always move the progress bar to the desired position.
diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/PkgCategory.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/PkgCategory.java
index 2cca82b..5bfd689 100755
--- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/PkgCategory.java
+++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/PkgCategory.java
@@ -63,7 +63,7 @@ abstract class PkgCategory {
@Override
public String toString() {
- return String.format("%s <key=%08x, label=%s, #items=%d>",
+ return String.format("%s <key=%s, label=%s, #items=%d>",
this.getClass().getSimpleName(),
mKey == null ? "null" : mKey.toString(),
mLabel,
diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkLogAdapter.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkLogAdapter.java
index aa0b6a5..6ce8b1e 100755
--- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkLogAdapter.java
+++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkLogAdapter.java
@@ -43,7 +43,7 @@ public final class SdkLogAdapter implements ILogUiProvider {
*/
public void setDescription(final String description) {
if (acceptLog(description)) {
- mSdkLog.printf("%1$s", description);
+ mSdkLog.printf("%1$s", description); //$NON-NLS-1$
}
}
@@ -53,7 +53,7 @@ public final class SdkLogAdapter implements ILogUiProvider {
*/
public void log(String log) {
if (acceptLog(log)) {
- mSdkLog.printf(" %1$s", log);
+ mSdkLog.printf(" %1$s", log); //$NON-NLS-1$
}
}
@@ -63,7 +63,7 @@ public final class SdkLogAdapter implements ILogUiProvider {
*/
public void logError(String log) {
if (acceptLog(log)) {
- mSdkLog.error(null, " %1$s", log);
+ mSdkLog.error(null, " %1$s", log); //$NON-NLS-1$
}
}
@@ -74,7 +74,7 @@ public final class SdkLogAdapter implements ILogUiProvider {
*/
public void logVerbose(String log) {
if (acceptLog(log)) {
- mSdkLog.printf(" %1$s", log);
+ mSdkLog.printf(" %1$s", log); //$NON-NLS-1$
}
}
diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdDetailsDialog.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdDetailsDialog.java
index a99a304..ce40360 100644
--- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdDetailsDialog.java
+++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdDetailsDialog.java
@@ -34,7 +34,6 @@ import org.eclipse.swt.widgets.Shell;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
/**
* Dialog displaying the details of an AVD.
@@ -121,9 +120,8 @@ final class AvdDetailsDialog extends SwtBaseDialog {
gl.marginHeight = gl.marginWidth = 0;
c.setLayoutData(new GridData(GridData.FILL_BOTH));
- Set<String> keys = copy.keySet();
- for (String key : keys) {
- displayValue(c, key + ":", copy.get(key));
+ for (Map.Entry<String, String> entry : copy.entrySet()) {
+ displayValue(c, entry.getKey() + ":", entry.getValue());
}
}
}