diff options
66 files changed, 441 insertions, 668 deletions
diff --git a/anttasks/src/com/android/ant/GetTargetTask.java b/anttasks/src/com/android/ant/GetTargetTask.java index ef65e02..426b01b 100644 --- a/anttasks/src/com/android/ant/GetTargetTask.java +++ b/anttasks/src/com/android/ant/GetTargetTask.java @@ -20,9 +20,9 @@ import com.android.SdkConstants; import com.android.sdklib.AndroidVersion; import com.android.sdklib.IAndroidTarget; import com.android.sdklib.IAndroidTarget.IOptionalLibrary; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.project.ProjectProperties; +import com.android.utils.ILogger; import com.android.xml.AndroidManifest; import com.android.xml.AndroidXPathFactory; @@ -117,7 +117,7 @@ public class GetTargetTask extends Task { // load up the sdk targets. final ArrayList<String> messages = new ArrayList<String>(); - SdkManager manager = SdkManager.createManager(sdkDir.getPath(), new ISdkLog() { + SdkManager manager = SdkManager.createManager(sdkDir.getPath(), new ILogger() { @Override public void error(Throwable t, String errorFormat, Object... args) { if (errorFormat != null) { @@ -129,11 +129,16 @@ public class GetTargetTask extends Task { } @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { messages.add(String.format(msgFormat, args)); } @Override + public void verbose(String msgFormat, Object... args) { + info(msgFormat, args); + } + + @Override public void warning(String warningFormat, Object... args) { messages.add(String.format("Warning: " + warningFormat, args)); } diff --git a/anttasks/src/com/android/ant/GetUiTargetTask.java b/anttasks/src/com/android/ant/GetUiTargetTask.java index 4756b49..5c34fa1 100644 --- a/anttasks/src/com/android/ant/GetUiTargetTask.java +++ b/anttasks/src/com/android/ant/GetUiTargetTask.java @@ -18,9 +18,9 @@ package com.android.ant; import com.android.sdklib.IAndroidTarget; import com.android.sdklib.IAndroidTarget.IOptionalLibrary; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.project.ProjectProperties; +import com.android.utils.ILogger; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; @@ -66,7 +66,7 @@ public class GetUiTargetTask extends Task { // load up the sdk targets. final ArrayList<String> messages = new ArrayList<String>(); - SdkManager manager = SdkManager.createManager(sdkDir.getPath(), new ISdkLog() { + SdkManager manager = SdkManager.createManager(sdkDir.getPath(), new ILogger() { @Override public void error(Throwable t, String errorFormat, Object... args) { if (errorFormat != null) { @@ -78,11 +78,16 @@ public class GetUiTargetTask extends Task { } @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { messages.add(String.format(msgFormat, args)); } @Override + public void verbose(String msgFormat, Object... args) { + info(msgFormat, args); + } + + @Override public void warning(String warningFormat, Object... args) { messages.add(String.format("Warning: " + warningFormat, args)); } diff --git a/anttasks/src/com/android/ant/ManifestMergerTask.java b/anttasks/src/com/android/ant/ManifestMergerTask.java index ef0dfce..597e1e9 100644 --- a/anttasks/src/com/android/ant/ManifestMergerTask.java +++ b/anttasks/src/com/android/ant/ManifestMergerTask.java @@ -18,8 +18,8 @@ package com.android.ant; import com.android.manifmerger.ManifestMerger; import com.android.manifmerger.MergerLog; -import com.android.sdklib.StdSdkLog; import com.android.sdklib.io.FileOp; +import com.android.utils.StdLogger; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.types.Path; @@ -124,7 +124,8 @@ public class ManifestMergerTask extends SingleDependencyTask { } else { System.out.println(String.format("Merging manifests from project and %d libraries.", libraries.size())); - ManifestMerger merger = new ManifestMerger(MergerLog.wrapSdkLog(new StdSdkLog())); + ManifestMerger merger = new ManifestMerger(MergerLog.wrapSdkLog( + new StdLogger(StdLogger.Level.VERBOSE))); if (merger.process( new File(mOutManifest), appManifestFile, diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java index a7bc53b..6549361 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java @@ -20,9 +20,9 @@ import static com.android.ide.common.layout.LayoutConstants.DOT_LAYOUT_PARAMS; import static com.android.ide.eclipse.adt.AdtConstants.DOC_HIDE; import com.android.ide.common.api.IAttributeInfo.Format; -import com.android.ide.common.log.ILogger; import com.android.ide.common.resources.platform.ViewClassInfo.LayoutParamsInfo; import com.android.ide.eclipse.adt.AdtUtils; +import com.android.utils.ILogger; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -497,7 +497,7 @@ public final class AttrsXmlParser { for (String f : attrFormat.getNodeValue().split("\\|")) { //$NON-NLS-1$ Format format = mFormatNames.get(f); if (format == null) { - mLog.printf( + mLog.info( "Unknown format name '%s' in <attr name=\"%s\">, file '%s'.", //$NON-NLS-1$ f, name, getOsAttrsXmlPath()); } else if (format != AttributeInfo.Format.ENUM && 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 d62e8f3..dddffef 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 @@ -25,7 +25,6 @@ import com.android.AndroidConstants; import com.android.SdkConstants; import com.android.annotations.NonNull; import com.android.annotations.Nullable; -import com.android.ide.common.log.ILogger; import com.android.ide.common.resources.ResourceFile; import com.android.ide.common.sdk.LoadStatus; import com.android.ide.eclipse.adt.AdtPlugin.CheckSdkErrorHandler.Solution; @@ -51,7 +50,7 @@ import com.android.ide.eclipse.ddms.DdmsPlugin; import com.android.io.StreamException; import com.android.resources.ResourceFolderType; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import com.google.common.io.Closeables; import org.eclipse.core.commands.Command; @@ -128,7 +127,7 @@ import java.util.List; /** * The activator class controls the plug-in life cycle */ -public class AdtPlugin extends AbstractUIPlugin implements ILogger, ISdkLog { +public class AdtPlugin extends AbstractUIPlugin implements ILogger { /** * Temporary logging code to help track down * http://code.google.com/p/android/issues/detail?id=15003 @@ -1891,7 +1890,12 @@ public class AdtPlugin extends AbstractUIPlugin implements ILogger, ISdkLog { } @Override - public void printf(String format, Object... args) { + public void info(String format, Object... args) { + log(IStatus.INFO, format, args); + } + + @Override + public void verbose(String format, Object... args) { log(IStatus.INFO, format, args); } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java index 5e485b7..28ab22b 100755 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java @@ -24,13 +24,13 @@ import com.android.ide.eclipse.adt.AdtUtils; import com.android.ide.eclipse.adt.internal.sdk.AdtConsoleSdkLog; import com.android.ide.eclipse.adt.internal.sdk.ProjectState; import com.android.ide.eclipse.adt.internal.sdk.Sdk; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.project.ProjectProperties; import com.android.sdklib.internal.project.ProjectProperties.PropertyType; import com.android.sdklib.internal.project.ProjectPropertiesWorkingCopy; import com.android.sdklib.io.FileOp; import com.android.sdkuilib.internal.repository.sdkman2.AdtUpdateDialog; +import com.android.utils.NullLogger; import com.android.utils.Pair; import org.eclipse.core.filesystem.EFS; @@ -224,7 +224,7 @@ public class AddSupportJarAction implements IObjectActionDelegate { final Sdk sdk = Sdk.getCurrent(); if (sdk != null) { String sdkLocation = sdk.getSdkLocation(); - SdkManager manager = SdkManager.createManager(sdkLocation, new NullSdkLog()); + SdkManager manager = SdkManager.createManager(sdkLocation, NullLogger.getLogger()); Map<String, Integer> versions = manager.getExtrasVersions(); Integer version = versions.get(VENDOR_ID + '/' + SUPPORT_ID); if (version == null) { @@ -297,7 +297,7 @@ public class AddSupportJarAction implements IObjectActionDelegate { final Sdk sdk = Sdk.getCurrent(); if (sdk != null) { String sdkLocation = sdk.getSdkLocation(); - SdkManager manager = SdkManager.createManager(sdkLocation, new NullSdkLog()); + SdkManager manager = SdkManager.createManager(sdkLocation, NullLogger.getLogger()); Map<String, Integer> versions = manager.getExtrasVersions(); Integer version = versions.get(VENDOR_ID + '/' + SUPPORT_ID); if (version != null) { diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/SdkManagerAction.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/SdkManagerAction.java index 13245d5..91bc411 100755 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/SdkManagerAction.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/SdkManagerAction.java @@ -203,7 +203,7 @@ public class SdkManagerAction implements IWorkbenchWindowActionDelegate, IObject @Override public void err(@Nullable String line) { if (line != null) { - logger.printf("[SDK Manager] %s", line); + logger.info("[SDK Manager] %s", line); } } }); @@ -264,7 +264,11 @@ public class SdkManagerAction implements IWorkbenchWindowActionDelegate, IObject AdtPlugin.getDisplay().getActiveShell(), new AdtConsoleSdkLog() { @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { + // Do not show non-error/warning log in Eclipse. + }; + @Override + public void verbose(String msgFormat, Object... args) { // Do not show non-error/warning log in Eclipse. }; }, diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java index 7c7bf9a..4da8004 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java @@ -45,10 +45,10 @@ import com.android.manifmerger.ManifestMerger; import com.android.manifmerger.MergerLog; import com.android.sdklib.AndroidVersion; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; import com.android.sdklib.internal.build.BuildConfigGenerator; import com.android.sdklib.internal.project.ProjectProperties; import com.android.sdklib.io.FileOp; +import com.android.utils.ILogger; import com.android.xml.AndroidManifest; import org.eclipse.core.resources.IFile; @@ -827,7 +827,7 @@ public class PreCompilerBuilder extends BaseBuilder { // TODO change MergerLog.wrapSdkLog by a custom IMergerLog that will create // and maintain error markers. - ManifestMerger merger = new ManifestMerger(MergerLog.wrapSdkLog(new ISdkLog() { + ManifestMerger merger = new ManifestMerger(MergerLog.wrapSdkLog(new ILogger() { @Override public void warning(String warningFormat, Object... args) { @@ -835,11 +835,16 @@ public class PreCompilerBuilder extends BaseBuilder { } @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { AdtPlugin.printToConsole(getProject(), String.format(msgFormat, args)); } @Override + public void verbose(String msgFormat, Object... args) { + info(msgFormat, args); + } + + @Override public void error(Throwable t, String errorFormat, Object... args) { errors.add(String.format(errorFormat, args)); } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/AndroidLaunchController.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/AndroidLaunchController.java index a7188aa..804d299 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/AndroidLaunchController.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/AndroidLaunchController.java @@ -46,9 +46,9 @@ import com.android.ide.eclipse.ddms.DdmsPlugin; import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.sdklib.AndroidVersion; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.internal.avd.AvdInfo; import com.android.sdklib.internal.avd.AvdManager; +import com.android.utils.NullLogger; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; @@ -317,7 +317,7 @@ public final class AndroidLaunchController implements IDebugBridgeChangeListener // reload the AVDs to make sure we are up to date try { - avdManager.reloadAvds(NullSdkLog.getLogger()); + avdManager.reloadAvds(NullLogger.getLogger()); } catch (AndroidLocationException e1) { // this happens if the AVD Manager failed to find the folder in which the AVDs are // stored. This is unlikely to happen, but if it does, we should force to go manual diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/EmulatorConfigTab.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/EmulatorConfigTab.java index 3f4ec93..22e5efa 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/EmulatorConfigTab.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/EmulatorConfigTab.java @@ -25,11 +25,11 @@ import com.android.ide.eclipse.adt.internal.sdk.AdtConsoleSdkLog; import com.android.ide.eclipse.adt.internal.sdk.Sdk; import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.internal.avd.AvdInfo; import com.android.sdklib.internal.avd.AvdManager; import com.android.sdkuilib.internal.widgets.AvdSelector; import com.android.sdkuilib.internal.widgets.AvdSelector.DisplayMode; +import com.android.utils.NullLogger; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; @@ -147,7 +147,7 @@ public class EmulatorConfigTab extends AbstractLaunchConfigurationTab { // reload the AVDs to make sure we are up to date try { - Sdk.getCurrent().getAvdManager().reloadAvds(NullSdkLog.getLogger()); + Sdk.getCurrent().getAvdManager().reloadAvds(NullLogger.getLogger()); } catch (AndroidLocationException e1) { // this happens if the AVD Manager failed to find the folder in which the AVDs are // stored. There isn't much we can do at this point. diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AdtConsoleSdkLog.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AdtConsoleSdkLog.java index e5798d2..268fc53 100755 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AdtConsoleSdkLog.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AdtConsoleSdkLog.java @@ -17,12 +17,12 @@ package com.android.ide.eclipse.adt.internal.sdk; import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; /** - * An {@link ISdkLog} logger that outputs to the ADT console. + * An {@link ILogger} logger that outputs to the ADT console. */ -public class AdtConsoleSdkLog implements ISdkLog { +public class AdtConsoleSdkLog implements ILogger { private static final String TAG = "SDK Manager"; //$NON-NLS-1$ @@ -36,7 +36,7 @@ public class AdtConsoleSdkLog implements ISdkLog { } @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { String msg = String.format(msgFormat, args); for (String s : msg.split("\n")) { if (s.trim().length() > 0) { @@ -46,6 +46,11 @@ public class AdtConsoleSdkLog implements ISdkLog { } @Override + public void verbose(String msgFormat, Object... args) { + info(msgFormat, args); + } + + @Override public void warning(String warningFormat, Object... args) { AdtPlugin.printToConsole(TAG, String.format("Warning: " + warningFormat, args)); } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java index 35d59f0..8c2ad4d 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java @@ -44,7 +44,6 @@ import com.android.io.StreamException; import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.sdklib.AndroidVersion; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.devices.Device; import com.android.sdklib.devices.DeviceManager; @@ -52,6 +51,7 @@ import com.android.sdklib.internal.avd.AvdManager; import com.android.sdklib.internal.project.ProjectProperties; import com.android.sdklib.internal.project.ProjectProperties.PropertyType; import com.android.sdklib.internal.project.ProjectPropertiesWorkingCopy; +import com.android.utils.ILogger; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; @@ -232,7 +232,7 @@ public final class Sdk { } final ArrayList<String> logMessages = new ArrayList<String>(); - ISdkLog log = new ISdkLog() { + ILogger log = new ILogger() { @Override public void error(Throwable throwable, String errorFormat, Object... arg) { if (errorFormat != null) { @@ -250,9 +250,14 @@ public final class Sdk { } @Override - public void printf(String msgFormat, Object... arg) { + public void info(String msgFormat, Object... arg) { logMessages.add(String.format(msgFormat, arg)); } + + @Override + public void verbose(String msgFormat, Object... arg) { + info(msgFormat, arg); + } }; // get an SdkManager object for the location @@ -321,7 +326,7 @@ public final class Sdk { * @param log The logger for the {@link SdkManager}. * @return A new {@link SdkManager} parsing the same location. */ - public @NonNull SdkManager getNewSdkManager(@NonNull ISdkLog log) { + public @NonNull SdkManager getNewSdkManager(@NonNull ILogger log) { return SdkManager.createManager(getSdkLocation(), log); } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/SdkSelectionPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/SdkSelectionPage.java index c6e8e71..9ce5060 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/SdkSelectionPage.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/SdkSelectionPage.java @@ -27,9 +27,9 @@ import com.android.ide.eclipse.adt.internal.wizards.newproject.NewProjectWizardS import com.android.io.FileWrapper; import com.android.sdklib.AndroidVersion; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.SdkManager; import com.android.sdkuilib.internal.widgets.SdkTargetSelector; +import com.android.utils.NullLogger; import com.android.utils.Pair; import org.eclipse.core.resources.IProject; @@ -216,7 +216,7 @@ class SdkSelectionPage extends WizardPage implements ITargetChangeListener { // Parse the extras to see if we can find samples that are // compatible with the selected target API. // First we need an SdkManager that suppresses all output. - SdkManager sdkman = sdk.getNewSdkManager(new NullSdkLog()); + SdkManager sdkman = sdk.getNewSdkManager(NullLogger.getLogger()); Map<File, String> extras = sdkman.getExtraSamples(); for (Entry<File, String> entry : extras.entrySet()) { diff --git a/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF index 5c799d0..9472625 100644 --- a/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF +++ b/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF @@ -25,7 +25,6 @@ Bundle-ClassPath: ., Export-Package: com.android, com.android.annotations, com.android.dvlib, - com.android.ide.common.log, com.android.ide.common.rendering, com.android.ide.common.rendering.api, com.android.ide.common.rendering.legacy, diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/MonitorApplication.java b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/MonitorApplication.java index 5f87813..aee6c87 100644 --- a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/MonitorApplication.java +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/MonitorApplication.java @@ -18,11 +18,11 @@ package com.android.ide.eclipse.monitor; import com.android.ide.eclipse.monitor.SdkToolsLocator.SdkInstallStatus; import com.android.prefs.AndroidLocation; -import com.android.sdklib.ISdkLog; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.SdkManager; import com.android.sdkstats.SdkStatsService; import com.android.sdkuilib.internal.repository.sdkman2.AdtUpdateDialog; +import com.android.utils.ILogger; +import com.android.utils.NullLogger; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; @@ -60,7 +60,7 @@ public class MonitorApplication implements IApplication { MonitorPlugin.getDefault().setSdkPath(sdkPath); // install platform tools if necessary - ISdkLog sdkLog = new NullSdkLog(); + ILogger sdkLog = NullLogger.getLogger(); SdkManager manager = SdkManager.createManager(sdkPath, sdkLog); if (manager.getPlatformToolsVersion() == null) { AdtUpdateDialog window = new AdtUpdateDialog(new Shell(display), sdkLog, sdkPath); diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/mock/TestLogger.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/mock/TestLogger.java index 5516168..f8bf4b3 100644 --- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/mock/TestLogger.java +++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/mock/TestLogger.java @@ -16,7 +16,8 @@ package com.android.ide.eclipse.mock; -import com.android.ide.common.log.ILogger; + +import com.android.utils.ILogger; import junit.framework.Assert; @@ -36,11 +37,16 @@ public class TestLogger implements ILogger { } @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { System.out.println(String.format(msgFormat, args)); } @Override + public void verbose(String msgFormat, Object... args) { + info(msgFormat, args); + } + + @Override public void warning(String warningFormat, Object... args) { System.err.println(String.format(warningFormat, args)); } diff --git a/ide_common/src/com/android/ide/common/log/ILogger.java b/ide_common/src/com/android/ide/common/log/ILogger.java deleted file mode 100644 index 1ad602e..0000000 --- a/ide_common/src/com/android/ide/common/log/ILogger.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.common.log; - -import java.util.Formatter; - -public interface ILogger { - - /** - * Prints a warning message on stdout. - * <p/> - * The message will be tagged with "Warning" on the output so the caller does not - * need to put such a prefix in the format string. - * <p/> - * Implementations should only display warnings in verbose mode. - * - * @param warningFormat is an optional error format. If non-null, it will be printed - * using a {@link Formatter} with the provided arguments. - * @param args provides the arguments for warningFormat. - */ - void warning(String warningFormat, Object... args); - - /** - * Prints an error message on stderr. - * <p/> - * The message will be tagged with "Error" on the output so the caller does not - * need to put such a prefix in the format string. - * <p/> - * Implementation should always display errors, independent of verbose mode. - * - * @param t is an optional {@link Throwable} or {@link Exception}. If non-null, it's - * message will be printed out. - * @param errorFormat is an optional error format. If non-null, it will be printed - * using a {@link Formatter} with the provided arguments. - * @param args provides the arguments for errorFormat. - */ - void error(Throwable t, String errorFormat, Object... args); - - /** - * Prints a message as-is on stdout. - * <p/> - * Implementation should always display errors, independent of verbose mode. - * No prefix is used, the message is printed as-is after formatting. - * - * @param msgFormat is an optional error format. If non-null, it will be printed - * using a {@link Formatter} with the provided arguments. - * @param args provides the arguments for msgFormat. - */ - void printf(String msgFormat, Object... args); -} diff --git a/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java b/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java index 1c9eff3..0a353f9 100644 --- a/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java +++ b/ide_common/src/com/android/ide/common/rendering/LayoutLibrary.java @@ -18,7 +18,6 @@ package com.android.ide.common.rendering; import static com.android.ide.common.rendering.api.Result.Status.ERROR_REFLECTION; -import com.android.ide.common.log.ILogger; import com.android.ide.common.rendering.api.Bridge; import com.android.ide.common.rendering.api.Capability; import com.android.ide.common.rendering.api.DrawableParams; @@ -43,6 +42,7 @@ import com.android.layoutlib.api.IProjectCallback; import com.android.layoutlib.api.IResourceValue; import com.android.layoutlib.api.IXmlPullParser; import com.android.resources.ResourceType; +import com.android.utils.ILogger; import java.awt.image.BufferedImage; import java.io.File; diff --git a/ide_common/src/com/android/ide/common/resources/FrameworkResources.java b/ide_common/src/com/android/ide/common/resources/FrameworkResources.java index 4d8e681..18bbc10 100755 --- a/ide_common/src/com/android/ide/common/resources/FrameworkResources.java +++ b/ide_common/src/com/android/ide/common/resources/FrameworkResources.java @@ -20,10 +20,10 @@ import static com.android.AndroidConstants.FD_RES_VALUES; import com.android.annotations.NonNull; import com.android.annotations.Nullable; -import com.android.ide.common.log.ILogger; import com.android.io.IAbstractFile; import com.android.io.IAbstractFolder; import com.android.resources.ResourceType; +import com.android.utils.ILogger; import org.kxml2.io.KXmlParser; import org.xmlpull.v1.XmlPullParser; @@ -36,10 +36,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.EnumMap; -import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Map.Entry; /** * Framework resources repository. diff --git a/manifmerger/src/com/android/manifmerger/ArgvParser.java b/manifmerger/src/com/android/manifmerger/ArgvParser.java index 5aed998..6d22f57 100755 --- a/manifmerger/src/com/android/manifmerger/ArgvParser.java +++ b/manifmerger/src/com/android/manifmerger/ArgvParser.java @@ -16,8 +16,8 @@ package com.android.manifmerger; -import com.android.sdklib.ISdkLog; import com.android.sdklib.util.CommandLineParser; +import com.android.utils.ILogger; import java.util.List; @@ -64,7 +64,7 @@ class ArgvParser extends CommandLineParser { }; - public ArgvParser(ISdkLog logger) { + public ArgvParser(ILogger logger) { super(logger, ACTIONS); // The following defines the parameters of the actions defined in mAction. diff --git a/manifmerger/src/com/android/manifmerger/Main.java b/manifmerger/src/com/android/manifmerger/Main.java index 93057fc..78da1a3 100644 --- a/manifmerger/src/com/android/manifmerger/Main.java +++ b/manifmerger/src/com/android/manifmerger/Main.java @@ -16,7 +16,8 @@ package com.android.manifmerger; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; +import com.android.utils.StdLogger; import java.io.File; @@ -37,7 +38,7 @@ import java.io.File; public class Main { /** Logger object. Use this to print normal output, warnings or errors. Never null. */ - private ISdkLog mSdkLog; + private ILogger mSdkLog; /** Command line parser. Never null. */ private ArgvParser mArgvParser; @@ -77,37 +78,11 @@ public class Main { * This logger prints to the attached console. */ private void createLogger() { - mSdkLog = new ISdkLog() { - @Override - public void error(Throwable t, String errorFormat, Object... args) { - if (errorFormat != null) { - System.err.printf("Error: " + errorFormat, args); - if (!errorFormat.endsWith("\n")) { - System.err.printf("\n"); - } - } - if (t != null) { - System.err.printf("Error: %s\n", t.getMessage()); - } - } - - @Override - public void warning(String warningFormat, Object... args) { - System.out.printf("Warning: " + warningFormat, args); - if (!warningFormat.endsWith("\n")) { - System.out.printf("\n"); - } - } - - @Override - public void printf(String msgFormat, Object... args) { - System.out.printf(msgFormat, args); - } - }; + mSdkLog = new StdLogger(StdLogger.Level.VERBOSE); } /** For testing */ - public void setLogger(ISdkLog logger) { + public void setLogger(ILogger logger) { mSdkLog = logger; } diff --git a/manifmerger/src/com/android/manifmerger/MergerLog.java b/manifmerger/src/com/android/manifmerger/MergerLog.java index c1f8cb2..446898c 100755 --- a/manifmerger/src/com/android/manifmerger/MergerLog.java +++ b/manifmerger/src/com/android/manifmerger/MergerLog.java @@ -18,7 +18,7 @@ package com.android.manifmerger; import com.android.annotations.NonNull; import com.android.annotations.Nullable; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; /** @@ -27,12 +27,12 @@ import com.android.sdklib.ISdkLog; public abstract class MergerLog { /** - * Create a new instance of a {@link MergerLog} that prints to an {@link ISdkLog}. + * Create a new instance of a {@link MergerLog} that prints to an {@link ILogger}. * - * @param sdkLog A non-null {@link ISdkLog}. + * @param sdkLog A non-null {@link ILogger}. * @return A new IMergerLog. */ - public static IMergerLog wrapSdkLog(final @NonNull ISdkLog sdkLog) { + public static IMergerLog wrapSdkLog(final @NonNull ILogger sdkLog) { return new IMergerLog() { @Override public void error( @@ -43,7 +43,7 @@ public abstract class MergerLog { switch(severity) { case INFO: - sdkLog.printf( + sdkLog.info( "[%1$s] %2$s", //$NON-NLS-1$ location, String.format(message, msgParams)); @@ -72,7 +72,7 @@ public abstract class MergerLog { switch(severity) { case INFO: - sdkLog.printf( + sdkLog.info( "[%1$s, %2$s] %3$s", //$NON-NLS-1$ location1, location2, diff --git a/manifmerger/src/com/android/manifmerger/XmlUtils.java b/manifmerger/src/com/android/manifmerger/XmlUtils.java index 778abea..f60d300 100755 --- a/manifmerger/src/com/android/manifmerger/XmlUtils.java +++ b/manifmerger/src/com/android/manifmerger/XmlUtils.java @@ -20,7 +20,7 @@ import com.android.annotations.NonNull; import com.android.annotations.Nullable; import com.android.manifmerger.IMergerLog.FileAndLine; import com.android.manifmerger.IMergerLog.Severity; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import org.w3c.dom.Attr; import org.w3c.dom.Document; @@ -67,7 +67,7 @@ class XmlUtils { * You can retrieve this file later by using {@link #extractXmlFilename(Node)}. * * @param xmlFile The XML {@link File} to parse. Must not be null. - * @param log An {@link ISdkLog} for reporting errors. Must not be null. + * @param log An {@link ILogger} for reporting errors. Must not be null. * @return A new DOM {@link Document}, or null. */ @Nullable @@ -131,7 +131,7 @@ class XmlUtils { * It is namespace aware. * * @param xml The XML string to parse. Must not be null. - * @param log An {@link ISdkLog} for reporting errors. Must not be null. + * @param log An {@link ILogger} for reporting errors. Must not be null. * @return A new DOM {@link Document}, or null. */ @Nullable diff --git a/sdkmanager/app/src/com/android/sdkmanager/Main.java b/sdkmanager/app/src/com/android/sdkmanager/Main.java index 2592ecd..91d544f 100644 --- a/sdkmanager/app/src/com/android/sdkmanager/Main.java +++ b/sdkmanager/app/src/com/android/sdkmanager/Main.java @@ -24,7 +24,6 @@ import com.android.prefs.AndroidLocation; import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.sdklib.IAndroidTarget; import com.android.sdklib.IAndroidTarget.IOptionalLibrary; -import com.android.sdklib.ISdkLog; import com.android.sdklib.ISystemImage; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.avd.AvdInfo; @@ -48,6 +47,7 @@ import com.android.sdkuilib.repository.AvdManagerWindow; import com.android.sdkuilib.repository.AvdManagerWindow.AvdInvocationContext; import com.android.sdkuilib.repository.SdkUpdaterWindow; import com.android.sdkuilib.repository.SdkUpdaterWindow.SdkInvocationContext; +import com.android.utils.ILogger; import com.android.utils.Pair; import com.android.xml.AndroidXPathFactory; @@ -89,7 +89,7 @@ public class Main { /** Path to the SDK folder. This is the parent of {@link #TOOLSDIR}. */ private String mOsSdkFolder; /** Logger object. Use this to print normal output, warnings or errors. */ - private ISdkLog mSdkLog; + private ILogger mSdkLog; /** The SDK manager parses the SDK folder and gives access to the content. */ private SdkManager mSdkManager; /** Command-line processor with options specific to SdkManager. */ @@ -124,7 +124,7 @@ public class Main { * This logger prints to the attached console. */ private void createLogger() { - mSdkLog = new ISdkLog() { + mSdkLog = new ILogger() { @Override public void error(Throwable t, String errorFormat, Object... args) { if (errorFormat != null) { @@ -149,14 +149,19 @@ public class Main { } @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { + System.out.printf(msgFormat, args); + } + + @Override + public void verbose(String msgFormat, Object... args) { System.out.printf(msgFormat, args); } }; } /** For testing */ - public void setLogger(ISdkLog logger) { + public void setLogger(ILogger logger) { mSdkLog = logger; } @@ -235,7 +240,7 @@ public class Main { if (mSdkCommandLine.hasClearCache()) { DownloadCache d = new DownloadCache(Strategy.SERVE_CACHE); d.clearCache(); - mSdkLog.printf("SDK Manager repository: manifest cache cleared.\n"); + mSdkLog.info("SDK Manager repository: manifest cache cleared.\n"); } String verb = mSdkCommandLine.getVerb(); @@ -391,7 +396,7 @@ public class Main { upd.listRemotePackages(all, extended); if (obsolete) { - mSdkLog.printf("Note: Flag --obsolete is deprecated and will be removed in the next version.\n Please use --all instead.\n"); + mSdkLog.info("Note: Flag --obsolete is deprecated and will be removed in the next version.\n Please use --all instead.\n"); } } @@ -428,7 +433,7 @@ public class Main { upd.updateAll(filterResult.getSecond(), all, dryMode); if (obsolete) { - mSdkLog.printf("Note: Flag --obsolete is deprecated and will be removed in the next version.\n Please use --all instead.\n"); + mSdkLog.info("Note: Flag --obsolete is deprecated and will be removed in the next version.\n Please use --all instead.\n"); } } @@ -618,7 +623,7 @@ public class Main { packageName = xpath.evaluate("/manifest/@package", new InputSource(new FileInputStream(manifest))); - mSdkLog.printf("Found main project package: %1$s\n", packageName); + mSdkLog.info("Found main project package: %1$s\n", packageName); // now get the name of the first activity we find activityName = xpath.evaluate("/manifest/application/activity[1]/@android:name", @@ -627,7 +632,7 @@ public class Main { if (activityName == null || activityName.length() == 0) { activityName = null; } else { - mSdkLog.printf("Found main project activity: %1$s\n", activityName); + mSdkLog.info("Found main project activity: %1$s\n", activityName); } } catch (FileNotFoundException e) { // this shouldn't happen as we test it above. @@ -665,7 +670,7 @@ public class Main { return; } - mSdkLog.printf("Found main project target: %1$s\n", target.getFullName()); + mSdkLog.info("Found main project target: %1$s\n", target.getFullName()); ProjectCreator creator = getProjectCreator(); @@ -746,7 +751,7 @@ public class Main { } if (couldHaveDone) { - mSdkLog.printf( + mSdkLog.info( "It seems that there are sub-projects. If you want to update them\nplease use the --%1$s parameter.\n", SdkCommandLine.KEY_SUBPROJECTS); } @@ -810,41 +815,41 @@ public class Main { char eol = mSdkCommandLine.getFlagEolNull() ? '\0' : '\n'; for (IAndroidTarget target : mSdkManager.getTargets()) { - mSdkLog.printf("%1$s%2$c", target.hashString(), eol); + mSdkLog.info("%1$s%2$c", target.hashString(), eol); } return; } - mSdkLog.printf("Available Android targets:\n"); + mSdkLog.info("Available Android targets:\n"); int index = 1; for (IAndroidTarget target : mSdkManager.getTargets()) { - mSdkLog.printf("----------\n"); - mSdkLog.printf("id: %1$d or \"%2$s\"\n", index, target.hashString()); - mSdkLog.printf(" Name: %s\n", target.getName()); + mSdkLog.info("----------\n"); + mSdkLog.info("id: %1$d or \"%2$s\"\n", index, target.hashString()); + mSdkLog.info(" Name: %s\n", target.getName()); if (target.isPlatform()) { - mSdkLog.printf(" Type: Platform\n"); - mSdkLog.printf(" API level: %s\n", target.getVersion().getApiString()); - mSdkLog.printf(" Revision: %d\n", target.getRevision()); + mSdkLog.info(" Type: Platform\n"); + mSdkLog.info(" API level: %s\n", target.getVersion().getApiString()); + mSdkLog.info(" Revision: %d\n", target.getRevision()); } else { - mSdkLog.printf(" Type: Add-On\n"); - mSdkLog.printf(" Vendor: %s\n", target.getVendor()); - mSdkLog.printf(" Revision: %d\n", target.getRevision()); + mSdkLog.info(" Type: Add-On\n"); + mSdkLog.info(" Vendor: %s\n", target.getVendor()); + mSdkLog.info(" Revision: %d\n", target.getRevision()); if (target.getDescription() != null) { - mSdkLog.printf(" Description: %s\n", target.getDescription()); + mSdkLog.info(" Description: %s\n", target.getDescription()); } - mSdkLog.printf(" Based on Android %s (API level %s)\n", + mSdkLog.info(" Based on Android %s (API level %s)\n", target.getVersionName(), target.getVersion().getApiString()); // display the optional libraries. IOptionalLibrary[] libraries = target.getOptionalLibraries(); if (libraries != null) { - mSdkLog.printf(" Libraries:\n"); + mSdkLog.info(" Libraries:\n"); for (IOptionalLibrary library : libraries) { - mSdkLog.printf(" * %1$s (%2$s)\n", + mSdkLog.info(" * %1$s (%2$s)\n", library.getName(), library.getJarName()); - mSdkLog.printf(" %1$s\n", library.getDescription()); + mSdkLog.info(" %1$s\n", library.getDescription()); } } } @@ -854,7 +859,7 @@ public class Main { displayAbiList (target, " ABIs : "); if (target.getUsbVendorId() != IAndroidTarget.NO_USB_ID) { - mSdkLog.printf(" Adds USB support for devices (Vendor: 0x%04X)\n", + mSdkLog.info(" Adds USB support for devices (Vendor: 0x%04X)\n", target.getUsbVendorId()); } @@ -869,24 +874,24 @@ public class Main { void displaySkinList(IAndroidTarget target, String message) { String[] skins = target.getSkins(); String defaultSkin = target.getDefaultSkin(); - mSdkLog.printf(message); + mSdkLog.info(message); if (skins != null) { boolean first = true; for (String skin : skins) { if (first == false) { - mSdkLog.printf(", "); + mSdkLog.info(", "); } else { first = false; } - mSdkLog.printf(skin); + mSdkLog.info(skin); if (skin.equals(defaultSkin)) { - mSdkLog.printf(" (default)"); + mSdkLog.info(" (default)"); } } - mSdkLog.printf("\n"); + mSdkLog.info("\n"); } else { - mSdkLog.printf("no skins.\n"); + mSdkLog.info("no skins.\n"); } } @@ -896,20 +901,20 @@ public class Main { @VisibleForTesting(visibility=Visibility.PRIVATE) void displayAbiList(IAndroidTarget target, String message) { ISystemImage[] systemImages = target.getSystemImages(); - mSdkLog.printf(message); + mSdkLog.info(message); if (systemImages.length > 0) { boolean first = true; for (ISystemImage si : systemImages) { if (first == false) { - mSdkLog.printf(", "); + mSdkLog.info(", "); } else { first = false; } - mSdkLog.printf(si.getAbiType()); + mSdkLog.info(si.getAbiType()); } - mSdkLog.printf("\n"); + mSdkLog.info("\n"); } else { - mSdkLog.printf("no ABIs.\n"); + mSdkLog.info("no ABIs.\n"); } } @@ -929,52 +934,52 @@ public class Main { for (int index = 0 ; index < avds.length ; index++) { AvdInfo info = avds[index]; - mSdkLog.printf("%1$s%2$c", info.getName(), eol); + mSdkLog.info("%1$s%2$c", info.getName(), eol); } return; } - mSdkLog.printf("Available Android Virtual Devices:\n"); + mSdkLog.info("Available Android Virtual Devices:\n"); for (int index = 0 ; index < avds.length ; index++) { AvdInfo info = avds[index]; if (index > 0) { - mSdkLog.printf("---------\n"); + mSdkLog.info("---------\n"); } - mSdkLog.printf(" Name: %s\n", info.getName()); - mSdkLog.printf(" Path: %s\n", info.getDataFolderPath()); + mSdkLog.info(" Name: %s\n", info.getName()); + mSdkLog.info(" Path: %s\n", info.getDataFolderPath()); // get the target of the AVD IAndroidTarget target = info.getTarget(); if (target.isPlatform()) { - mSdkLog.printf(" Target: %s (API level %s)\n", target.getName(), + mSdkLog.info(" Target: %s (API level %s)\n", target.getName(), target.getVersion().getApiString()); } else { - mSdkLog.printf(" Target: %s (%s)\n", target.getName(), target + mSdkLog.info(" Target: %s (%s)\n", target.getName(), target .getVendor()); - mSdkLog.printf(" Based on Android %s (API level %s)\n", + mSdkLog.info(" Based on Android %s (API level %s)\n", target.getVersionName(), target.getVersion().getApiString()); } - mSdkLog.printf(" ABI: %s\n", info.getAbiType()); + mSdkLog.info(" ABI: %s\n", info.getAbiType()); // display some extra values. Map<String, String> properties = info.getProperties(); if (properties != null) { String skin = properties.get(AvdManager.AVD_INI_SKIN_NAME); if (skin != null) { - mSdkLog.printf(" Skin: %s\n", skin); + mSdkLog.info(" Skin: %s\n", skin); } String sdcard = properties.get(AvdManager.AVD_INI_SDCARD_SIZE); if (sdcard == null) { sdcard = properties.get(AvdManager.AVD_INI_SDCARD_PATH); } if (sdcard != null) { - mSdkLog.printf(" Sdcard: %s\n", sdcard); + mSdkLog.info(" Sdcard: %s\n", sdcard); } String snapshot = properties.get(AvdManager.AVD_INI_SNAPSHOT_PRESENT); if (snapshot != null) { - mSdkLog.printf("Snapshot: %s\n", snapshot); + mSdkLog.info("Snapshot: %s\n", snapshot); } } } @@ -986,18 +991,18 @@ public class Main { return; } - mSdkLog.printf("\nThe following Android Virtual Devices could not be loaded:\n"); + mSdkLog.info("\nThe following Android Virtual Devices could not be loaded:\n"); boolean needSeparator = false; for (AvdInfo info : badAvds) { if (needSeparator) { - mSdkLog.printf("---------\n"); + mSdkLog.info("---------\n"); } - mSdkLog.printf(" Name: %s\n", info.getName() == null ? "--" : info.getName()); - mSdkLog.printf(" Path: %s\n", + mSdkLog.info(" Name: %s\n", info.getName() == null ? "--" : info.getName()); + mSdkLog.info(" Path: %s\n", info.getDataFolderPath() == null ? "--" : info.getDataFolderPath()); String error = info.getErrorMessage(); - mSdkLog.printf(" Error: %s\n", error == null ? "Uknown error" : error); + mSdkLog.info(" Error: %s\n", error == null ? "Uknown error" : error); needSeparator = true; } } @@ -1109,7 +1114,7 @@ public class Main { if (systemImages != null && systemImages.length == 1) { // Auto-select the single ABI available abiType = systemImages[0].getAbiType(); - mSdkLog.printf("Auto-selecting single ABI %1$s\n", abiType); + mSdkLog.info("Auto-selecting single ABI %1$s\n", abiType); } else { displayAbiList(target, "Valid ABIs: "); errorAndExit("This platform has more than one ABI. Please specify one using --%1$s.", @@ -1289,7 +1294,7 @@ public class Main { try { mSdkManager.updateAdb(); - mSdkLog.printf( + mSdkLog.info( "adb has been updated. You must restart adb with the following commands\n" + "\tadb kill-server\n" + "\tadb start-server\n"); @@ -1356,8 +1361,8 @@ public class Main { String result; String defaultAnswer = "no"; - mSdkLog.printf("%s is a basic Android platform.\n", createTarget.getName()); - mSdkLog.printf("Do you wish to create a custom hardware profile [%s]", + mSdkLog.info("%s is a basic Android platform.\n", createTarget.getName()); + mSdkLog.info("Do you wish to create a custom hardware profile [%s]", defaultAnswer); result = readLine(readLineBuffer).trim(); @@ -1371,7 +1376,7 @@ public class Main { return skinHardwareConfig; } - mSdkLog.printf("\n"); // empty line + mSdkLog.info("\n"); // empty line // get the list of possible hardware properties File hardwareDefs = new File (mOsSdkFolder + File.separator + @@ -1389,9 +1394,9 @@ public class Main { String description = property.getDescription(); if (description != null) { - mSdkLog.printf("%s: %s\n", property.getAbstract(), description); + mSdkLog.info("%s: %s\n", property.getAbstract(), description); } else { - mSdkLog.printf("%s\n", property.getAbstract()); + mSdkLog.info("%s\n", property.getAbstract()); } String defaultValue = property.getDefault(); @@ -1399,11 +1404,11 @@ public class Main { property.getName()) : null; if (defaultFromSkin != null) { - mSdkLog.printf("%s [%s (from skin)]:", property.getName(), defaultFromSkin); + mSdkLog.info("%s [%s (from skin)]:", property.getName(), defaultFromSkin); } else if (defaultValue != null) { - mSdkLog.printf("%s [%s]:", property.getName(), defaultValue); + mSdkLog.info("%s [%s]:", property.getName(), defaultValue); } else { - mSdkLog.printf("%s (%s):", property.getName(), property.getType()); + mSdkLog.info("%s (%s):", property.getName(), property.getType()); } result = readLine(readLineBuffer); @@ -1414,7 +1419,7 @@ public class Main { map.put(property.getName(), defaultFromSkin); } - mSdkLog.printf("\n"); // empty line + mSdkLog.info("\n"); // empty line i++; // go to the next property if we have a valid default value. // if there's no default, we'll redo this property } @@ -1433,7 +1438,7 @@ public class Main { } } catch (IOException e) { // display error, and do not increment i to redo this property - mSdkLog.printf("\n%s\n", e.getMessage()); + mSdkLog.info("\n%s\n", e.getMessage()); } break; case INTEGER: @@ -1443,7 +1448,7 @@ public class Main { i++; // valid reply, move to next property } catch (NumberFormatException e) { // display error, and do not increment i to redo this property - mSdkLog.printf("\n%s\n", e.getMessage()); + mSdkLog.info("\n%s\n", e.getMessage()); } break; case DISKSIZE: @@ -1453,7 +1458,7 @@ public class Main { break; } - mSdkLog.printf("\n"); // empty line + mSdkLog.info("\n"); // empty line } return map; diff --git a/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java b/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java index 56de068..a487881 100644 --- a/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java +++ b/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java @@ -16,10 +16,10 @@ package com.android.sdkmanager; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.repository.SdkRepoConstants; import com.android.sdklib.util.CommandLineParser; +import com.android.utils.ILogger; import java.util.Arrays; @@ -161,7 +161,7 @@ class SdkCommandLine extends CommandLineParser { "Creates an identity file." }, }; - public SdkCommandLine(ISdkLog logger) { + public SdkCommandLine(ILogger logger) { super(logger, ACTIONS); // The following defines the parameters of the actions defined in mAction. diff --git a/sdkmanager/app/tests/com/android/sdkmanager/SdkCommandLineTest.java b/sdkmanager/app/tests/com/android/sdkmanager/SdkCommandLineTest.java index 9a201d0..e88d892 100644 --- a/sdkmanager/app/tests/com/android/sdkmanager/SdkCommandLineTest.java +++ b/sdkmanager/app/tests/com/android/sdkmanager/SdkCommandLineTest.java @@ -16,14 +16,14 @@ package com.android.sdkmanager; -import com.android.sdklib.ISdkLog; -import com.android.sdklib.StdSdkLog; +import com.android.utils.ILogger; +import com.android.utils.StdLogger; import junit.framework.TestCase; public class SdkCommandLineTest extends TestCase { - private StdSdkLog mLog; + private StdLogger mLog; /** * A mock version of the {@link SdkCommandLine} class that does not @@ -33,7 +33,7 @@ public class SdkCommandLineTest extends TestCase { private boolean mExitCalled; private boolean mHelpCalled; - public MockSdkCommandLine(ISdkLog logger) { + public MockSdkCommandLine(ILogger logger) { super(logger); } @@ -70,7 +70,7 @@ public class SdkCommandLineTest extends TestCase { @Override protected void setUp() throws Exception { - mLog = new StdSdkLog(); + mLog = new StdLogger(StdLogger.Level.VERBOSE); super.setUp(); } diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/ISdkLog.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/ISdkLog.java deleted file mode 100644 index df7d8ac..0000000 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/ISdkLog.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.sdklib; - -import java.util.Formatter; - -/** - * Interface used to display warnings/errors while parsing the SDK content. - * <p/> - * There are a few default implementations available: - * <ul> - * <li> {@link NullSdkLog} is an implementation that does <em>nothing</em> with the log. - * Useful for limited cases where you need to call a class that requires a non-null logging - * yet the calling code does not have any mean of reporting logs itself. It can be - * acceptable for use a temporary implementation but most of the time that means the caller - * code needs to be reworked to take a logger object from its own caller. - * </li> - * <li> {@link StdSdkLog} is an implementation that dumps the log to {@link System#out} or - * {@link System#err}. This is useful for unit tests or code that does not have any GUI. - * Apps based on Eclipse or SWT should not use it and should provide a better way to report - * to the user. - * </li> - * <li> ADT has a <code>AdtPlugin</code> which implements a similar interface called - * <code>ILogger</code>, useful in case we don't want to pull the whole SdkLib. - * </ul> - */ -public interface ISdkLog { - - /** - * Prints a warning message on stdout. - * <p/> - * The message will be tagged with "Warning" on the output so the caller does not - * need to put such a prefix in the format string. - * <p/> - * Implementations should only display warnings in verbose mode. - * - * @param warningFormat is an optional error format. If non-null, it will be printed - * using a {@link Formatter} with the provided arguments. - * @param args provides the arguments for warningFormat. - */ - void warning(String warningFormat, Object... args); - - /** - * Prints an error message on stderr. - * <p/> - * The message will be tagged with "Error" on the output so the caller does not - * need to put such a prefix in the format string. - * <p/> - * Implementation should always display errors, independent of verbose mode. - * - * @param t is an optional {@link Throwable} or {@link Exception}. If non-null, it's - * message will be printed out. - * @param errorFormat is an optional error format. If non-null, it will be printed - * using a {@link Formatter} with the provided arguments. - * @param args provides the arguments for errorFormat. - */ - void error(Throwable t, String errorFormat, Object... args); - - /** - * Prints a message on stdout. - * This does <em>not</em> automatically end the line with \n. - * <p/> - * Implementation can omit printing such messages when not in verbose mode. - * No prefix is used, the message is printed as-is after formatting. - * - * @param msgFormat is an optional error format. If non-null, it will be printed - * using a {@link Formatter} with the provided arguments. - * @param args provides the arguments for msgFormat. - */ - void printf(String msgFormat, Object... args); -} diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/NullSdkLog.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/NullSdkLog.java deleted file mode 100644 index 09f49e2..0000000 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/NullSdkLog.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.sdklib; - -/** - * Dummy implementation of an {@link ISdkLog}. - * <p/> - * Use {@link #getLogger()} to get a default instance of this {@link NullSdkLog}. - */ -public class NullSdkLog implements ISdkLog { - - private static final ISdkLog sThis = new NullSdkLog(); - - public static ISdkLog getLogger() { - return sThis; - } - - @Override - public void error(Throwable t, String errorFormat, Object... args) { - // ignore - } - - @Override - public void printf(String msgFormat, Object... args) { - // ignore - } - - @Override - public void warning(String warningFormat, Object... args) { - // ignore - } -} diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/SdkManager.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/SdkManager.java index 766e984..0651f5a 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/SdkManager.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/SdkManager.java @@ -34,6 +34,8 @@ import com.android.sdklib.internal.repository.packages.ExtraPackage; import com.android.sdklib.internal.repository.packages.Package; import com.android.sdklib.internal.repository.packages.PlatformToolPackage; import com.android.sdklib.repository.PkgProps; +import com.android.utils.ILogger; +import com.android.utils.NullLogger; import com.android.utils.Pair; import java.io.File; @@ -107,7 +109,7 @@ public class SdkManager { /** * Create a new {@link SdkManager} instance. - * External users should use {@link #createManager(String, ISdkLog)}. + * External users should use {@link #createManager(String, ILogger)}. * * @param osSdkPath the location of the SDK. */ @@ -119,10 +121,10 @@ public class SdkManager { /** * Creates an {@link SdkManager} for a given sdk location. * @param osSdkPath the location of the SDK. - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. * @return the created {@link SdkManager} or null if the location is not valid. */ - public static SdkManager createManager(String osSdkPath, ISdkLog log) { + public static SdkManager createManager(String osSdkPath, ILogger log) { try { SdkManager manager = new SdkManager(osSdkPath); manager.reloadSdk(log); @@ -138,9 +140,9 @@ public class SdkManager { /** * Reloads the content of the SDK. * - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. */ - public void reloadSdk(ISdkLog log) { + public void reloadSdk(ILogger log) { // get the current target list. mTargetDirs.clear(); ArrayList<IAndroidTarget> targets = new ArrayList<IAndroidTarget>(); @@ -348,7 +350,7 @@ public class SdkManager { Package[] packages = parser.parseSdk(mOsSdkPath, this, LocalSdkParser.PARSE_EXTRAS, - new NullTaskMonitor(new NullSdkLog())); + new NullTaskMonitor(NullLogger.getLogger())); Map<File, String> samples = new HashMap<File, String>(); @@ -381,7 +383,7 @@ public class SdkManager { Package[] packages = parser.parseSdk(mOsSdkPath, this, LocalSdkParser.PARSE_EXTRAS, - new NullTaskMonitor(new NullSdkLog())); + new NullTaskMonitor(NullLogger.getLogger())); Map<String, Integer> extraVersions = new TreeMap<String, Integer>(); @@ -403,7 +405,7 @@ public class SdkManager { public @Nullable String getPlatformToolsVersion() { LocalSdkParser parser = new LocalSdkParser(); Package[] packages = parser.parseSdk(mOsSdkPath, this, LocalSdkParser.PARSE_PLATFORM_TOOLS, - new NullTaskMonitor(new NullSdkLog())); + new NullTaskMonitor(NullLogger.getLogger())); for (Package pkg : packages) { if (pkg instanceof PlatformToolPackage && pkg.isLocal()) { @@ -424,13 +426,13 @@ public class SdkManager { * @param sdkOsPath Location of the SDK * @param targets the list to fill with the platforms. * @param dirInfos a map to keep information on directories to see if they change later. - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. * @throws RuntimeException when the "platforms" folder is missing and cannot be created. */ private static void loadPlatforms( String sdkOsPath, ArrayList<IAndroidTarget> targets, - Map<File, DirInfo> dirInfos, ISdkLog log) { + Map<File, DirInfo> dirInfos, ILogger log) { File platformFolder = new File(sdkOsPath, SdkConstants.FD_PLATFORMS); if (platformFolder.isDirectory()) { @@ -472,12 +474,12 @@ public class SdkManager { * Loads a specific Platform at a given location. * @param sdkOsPath Location of the SDK * @param platformFolder the root folder of the platform. - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. */ private static PlatformTarget loadPlatform( String sdkOsPath, File platformFolder, - ISdkLog log) { + ILogger log) { FileWrapper buildProp = new FileWrapper(platformFolder, SdkConstants.FN_BUILD_PROP); FileWrapper sourcePropFile = new FileWrapper(platformFolder, SdkConstants.FN_SOURCE_PROP); @@ -764,13 +766,13 @@ public class SdkManager { * @param osSdkPath Location of the SDK * @param targets the list to fill with the add-ons. * @param dirInfos a map to keep information on directories to see if they change later. - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. * @throws RuntimeException when the "add-ons" folder is missing and cannot be created. */ private static void loadAddOns( String osSdkPath, ArrayList<IAndroidTarget> targets, - Map<File, DirInfo> dirInfos, ISdkLog log) { + Map<File, DirInfo> dirInfos, ILogger log) { File addonFolder = new File(osSdkPath, SdkConstants.FD_ADDONS); if (addonFolder.isDirectory()) { @@ -815,11 +817,11 @@ public class SdkManager { * Loads a specific Add-on at a given location. * @param addonDir the location of the add-on directory. * @param targetList The list of Android target that were already loaded from the SDK. - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. */ private static AddOnTarget loadAddon(File addonDir, IAndroidTarget[] targetList, - ISdkLog log) { + ILogger log) { // Parse the addon properties to ensure we can load it. Pair<Map<String, String>, String> infos = parseAddonProperties(addonDir, targetList, log); @@ -961,7 +963,7 @@ public class SdkManager { * * @param addonDir the location of the addon directory. * @param targetList The list of Android target that were already loaded from the SDK. - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. * @return A pair with the property map and an error string. Both can be null but not at the * same time. If a non-null error is present then the property map must be ignored. The error * should be translatable as it might show up in the SdkManager UI. @@ -969,7 +971,7 @@ public class SdkManager { public static Pair<Map<String, String>, String> parseAddonProperties( File addonDir, IAndroidTarget[] targetList, - ISdkLog log) { + ILogger log) { Map<String, String> propertyMap = null; String error = null; @@ -1084,7 +1086,7 @@ public class SdkManager { * @param platform The folder containing the platform. * @param log Logger. Cannot be null. */ - private static boolean checkPlatformContent(File platform, ISdkLog log) { + private static boolean checkPlatformContent(File platform, ILogger log) { for (String relativePath : sPlatformContentList) { File f = new File(platform, relativePath); if (!f.exists()) { @@ -1139,7 +1141,7 @@ public class SdkManager { * * @param log Logger. Cannot be null. */ - private void initializeSamplePaths(ISdkLog log) { + private void initializeSamplePaths(ILogger log) { File sampleFolder = new File(mOsSdkPath, SdkConstants.FD_SAMPLES); if (sampleFolder.isDirectory()) { File[] platforms = sampleFolder.listFiles(); @@ -1170,7 +1172,7 @@ public class SdkManager { * @param log Logger for errors. Cannot be null. * @return An {@link AndroidVersion} or null on error. */ - private AndroidVersion getSamplesVersion(File folder, ISdkLog log) { + private AndroidVersion getSamplesVersion(File folder, ILogger log) { File sourceProp = new File(folder, SdkConstants.FN_SOURCE_PROP); try { Properties p = new Properties(); diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/StdSdkLog.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/StdSdkLog.java deleted file mode 100644 index 84bc212..0000000 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/StdSdkLog.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.sdklib; - -import com.android.SdkConstants; - - -/** - * An implementation of {@link ISdkLog} that prints to {@link System#out} and {@link System#err}. - * <p/> - * This is mostly useful for unit tests. It should not be used by GUI-based tools (e.g. - * Eclipse plugin or SWT-based apps) which should have a better way to expose their logging - * error and warnings. - */ -public class StdSdkLog implements ISdkLog { - - @Override - public void error(Throwable t, String errorFormat, Object... args) { - if (errorFormat != null) { - String msg = String.format("Error: " + errorFormat, args); - - if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_WINDOWS && - !msg.endsWith("\r\n") && - msg.endsWith("\n")) { - // remove last \n so that println can use \r\n as needed. - msg = msg.substring(0, msg.length() - 1); - } - - System.err.print(msg); - - if (!msg.endsWith("\n")) { - System.err.println(); - } - } - if (t != null) { - System.err.println(String.format("Error: %1$s", t.getMessage())); - } - } - - @Override - public void warning(String warningFormat, Object... args) { - String msg = String.format("Warning: " + warningFormat, args); - - if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_WINDOWS && - !msg.endsWith("\r\n") && - msg.endsWith("\n")) { - // remove last \n so that println can use \r\n as needed. - msg = msg.substring(0, msg.length() - 1); - } - - System.out.print(msg); - - if (!msg.endsWith("\n")) { - System.out.println(); - } - } - - @Override - public void printf(String msgFormat, Object... args) { - String msg = String.format(msgFormat, args); - - if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_WINDOWS && - !msg.endsWith("\r\n") && - msg.endsWith("\n")) { - // remove last \n so that println can use \r\n as needed. - msg = msg.substring(0, msg.length() - 1); - } - - System.out.print(msg); - - if (!msg.endsWith("\n")) { - System.out.println(); - } - } -} diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java index 9b64689..af9dee3 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java @@ -23,10 +23,10 @@ import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.resources.Keyboard; import com.android.resources.KeyboardState; import com.android.resources.Navigation; -import com.android.sdklib.ISdkLog; import com.android.sdklib.internal.avd.AvdManager; import com.android.sdklib.internal.avd.HardwareProperties; import com.android.sdklib.repository.PkgProps; +import com.android.utils.ILogger; import org.xml.sax.SAXException; @@ -59,7 +59,7 @@ public class DeviceManager { private final static String sDeviceProfilesProp = "DeviceProfiles"; private final static Pattern sPathPropertyPattern = Pattern.compile("^" + PkgProps.EXTRA_PATH + "=" + sDeviceProfilesProp + "$"); - private ISdkLog mLog; + private ILogger mLog; // Vendor devices can't be a static list since they change based on the SDK // Location private List<Device> mVendorDevices; @@ -91,7 +91,7 @@ public class DeviceManager { // in the same application, which forces us to parse the XML multiple times // when we don't // to. - public DeviceManager(ISdkLog log) { + public DeviceManager(ILogger log) { mLog = log; } diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/AvdManager.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/AvdManager.java index df703da..d2ba1b6 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/AvdManager.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/AvdManager.java @@ -22,7 +22,6 @@ import com.android.io.FileWrapper; import com.android.prefs.AndroidLocation; import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; import com.android.sdklib.ISystemImage; import com.android.sdklib.SdkManager; import com.android.sdklib.devices.DeviceManager; @@ -32,6 +31,7 @@ import com.android.sdklib.internal.project.ProjectProperties; import com.android.sdklib.util.GrabProcessOutput; import com.android.sdklib.util.GrabProcessOutput.IProcessOutput; import com.android.sdklib.util.GrabProcessOutput.Wait; +import com.android.utils.ILogger; import com.android.utils.Pair; import java.io.File; @@ -275,12 +275,12 @@ public class AvdManager { * logging needs. Cannot be null. * @throws AndroidLocationException */ - protected AvdManager(SdkManager sdkManager, ISdkLog log) throws AndroidLocationException { + protected AvdManager(SdkManager sdkManager, ILogger log) throws AndroidLocationException { mSdkManager = sdkManager; buildAvdList(mAllAvdList, log); } - public static AvdManager getInstance(SdkManager sdkManager, ISdkLog log) + public static AvdManager getInstance(SdkManager sdkManager, ILogger log) throws AndroidLocationException { synchronized(mManagers) { AvdManager manager; @@ -511,7 +511,7 @@ public class AvdManager { * @throws AndroidLocationException if there was an error finding the location of the * AVD folder. */ - public void reloadAvds(ISdkLog log) throws AndroidLocationException { + public void reloadAvds(ILogger log) throws AndroidLocationException { // build the list in a temp list first, in case the method throws an exception. // It's better than deleting the whole list before reading the new one. ArrayList<AvdInfo> allList = new ArrayList<AvdInfo>(); @@ -556,7 +556,7 @@ public class AvdManager { boolean createSnapshot, boolean removePrevious, boolean editExisting, - ISdkLog log) { + ILogger log) { if (log == null) { throw new IllegalArgumentException("log cannot be null"); } @@ -647,7 +647,7 @@ public class AvdManager { if (createSnapshot) { File snapshotDest = new File(avdFolder, SNAPSHOTS_IMG); if (snapshotDest.isFile() && editExisting) { - log.printf("Snapshot image already present, was not changed.\n"); + log.info("Snapshot image already present, was not changed.\n"); } else { String toolsLib = mSdkManager.getLocation() + File.separator @@ -749,7 +749,7 @@ public class AvdManager { // There's already an sdcard file with the right size and we're // not overriding it... so don't remove it. runMkSdcard = false; - log.printf("SD Card already present with same size, was not changed.\n"); + log.info("SD Card already present with same size, was not changed.\n"); } } @@ -861,7 +861,7 @@ public class AvdManager { report.append("\n"); } - log.printf(report.toString()); + log.info(report.toString()); // create the AvdInfo object, and add it to the list AvdInfo newAvdInfo = new AvdInfo( @@ -1002,7 +1002,7 @@ public class AvdManager { * @param target The target where to find the skin. * @param log the log object to receive action logs. Cannot be null. */ - public String getSkinRelativePath(String skinName, IAndroidTarget target, ISdkLog log) { + public String getSkinRelativePath(String skinName, IAndroidTarget target, ILogger log) { if (log == null) { throw new IllegalArgumentException("log cannot be null"); } @@ -1118,13 +1118,13 @@ public class AvdManager { * @param log the log object to receive action logs. Cannot be null. * @return True if the AVD was deleted with no error. */ - public boolean deleteAvd(AvdInfo avdInfo, ISdkLog log) { + public boolean deleteAvd(AvdInfo avdInfo, ILogger log) { try { boolean error = false; File f = avdInfo.getIniFile(); if (f != null && f.exists()) { - log.printf("Deleting file %1$s\n", f.getCanonicalPath()); + log.info("Deleting file %1$s\n", f.getCanonicalPath()); if (!f.delete()) { log.error(null, "Failed to delete %1$s\n", f.getCanonicalPath()); error = true; @@ -1135,7 +1135,7 @@ public class AvdManager { if (path != null) { f = new File(path); if (f.exists()) { - log.printf("Deleting folder %1$s\n", f.getCanonicalPath()); + log.info("Deleting folder %1$s\n", f.getCanonicalPath()); if (deleteContentOf(f) == false || f.delete() == false) { log.error(null, "Failed to delete %1$s\n", f.getCanonicalPath()); error = true; @@ -1146,10 +1146,10 @@ public class AvdManager { removeAvd(avdInfo); if (error) { - log.printf("\nAVD '%1$s' deleted with errors. See errors above.\n", + log.info("\nAVD '%1$s' deleted with errors. See errors above.\n", avdInfo.getName()); } else { - log.printf("\nAVD '%1$s' deleted.\n", avdInfo.getName()); + log.info("\nAVD '%1$s' deleted.\n", avdInfo.getName()); return true; } @@ -1175,7 +1175,7 @@ public class AvdManager { * @return True if the move succeeded or there was nothing to do. * If false, this method will have had already output error in the log. */ - public boolean moveAvd(AvdInfo avdInfo, String newName, String paramFolderPath, ISdkLog log) { + public boolean moveAvd(AvdInfo avdInfo, String newName, String paramFolderPath, ILogger log) { try { if (paramFolderPath != null) { @@ -1227,7 +1227,7 @@ public class AvdManager { replaceAvd(avdInfo, info); } - log.printf("AVD '%1$s' moved.\n", avdInfo.getName()); + log.info("AVD '%1$s' moved.\n", avdInfo.getName()); } catch (AndroidLocationException e) { log.error(e, null); @@ -1311,7 +1311,7 @@ public class AvdManager { * * @throws AndroidLocationException if there's a problem getting android root directory. */ - private void buildAvdList(ArrayList<AvdInfo> allList, ISdkLog log) + private void buildAvdList(ArrayList<AvdInfo> allList, ILogger log) throws AndroidLocationException { File[] avds = buildAvdFilesList(); if (avds != null) { @@ -1332,7 +1332,7 @@ public class AvdManager { * @return A new {@link AvdInfo} with an {@link AvdStatus} indicating whether this AVD is * valid or not. */ - private AvdInfo parseAvdInfo(File iniPath, ISdkLog log) { + private AvdInfo parseAvdInfo(File iniPath, ILogger log) { Map<String, String> map = ProjectProperties.parsePropertyFile( new FileWrapper(iniPath), log); @@ -1474,7 +1474,7 @@ public class AvdManager { * @param log the log object to receive action logs. Cannot be null. * @return True if the sdcard could be created. */ - private boolean createSdCard(String toolLocation, String size, String location, ISdkLog log) { + private boolean createSdCard(String toolLocation, String size, String location, ILogger log) { try { String[] command = new String[3]; command[0] = toolLocation; @@ -1545,7 +1545,7 @@ public class AvdManager { * @param log the log object to receive action logs. Cannot be null. * @throws IOException */ - public void updateAvd(String name, ISdkLog log) throws IOException { + public void updateAvd(String name, ILogger log) throws IOException { // find the AVD to update. It should be be in the broken list. AvdInfo avd = null; synchronized (mAllAvdList) { @@ -1573,7 +1573,7 @@ public class AvdManager { * @param log the log object to receive action logs. Cannot be null. * @throws IOException */ - public void updateAvd(AvdInfo avd, ISdkLog log) throws IOException { + public void updateAvd(AvdInfo avd, ILogger log) throws IOException { // get the properties. This is a unmodifiable Map. Map<String, String> oldProperties = avd.getProperties(); @@ -1588,12 +1588,12 @@ public class AvdManager { // create the path to the new system images. if (setImagePathProperties(avd.getTarget(), avd.getAbiType(), properties, log)) { if (properties.containsKey(AVD_INI_IMAGES_1)) { - log.printf("Updated '%1$s' with value '%2$s'\n", AVD_INI_IMAGES_1, + log.info("Updated '%1$s' with value '%2$s'\n", AVD_INI_IMAGES_1, properties.get(AVD_INI_IMAGES_1)); } if (properties.containsKey(AVD_INI_IMAGES_2)) { - log.printf("Updated '%1$s' with value '%2$s'\n", AVD_INI_IMAGES_2, + log.info("Updated '%1$s' with value '%2$s'\n", AVD_INI_IMAGES_2, properties.get(AVD_INI_IMAGES_2)); } @@ -1610,7 +1610,7 @@ public class AvdManager { public void updateAvd(AvdInfo avd, Map<String, String> newProperties, AvdStatus status, - ISdkLog log) throws IOException { + ILogger log) throws IOException { // now write the config file File configIniFile = new File(avd.getDataFolderPath(), CONFIG_INI); writeIniFile(configIniFile, newProperties); @@ -1644,7 +1644,7 @@ public class AvdManager { private boolean setImagePathProperties(IAndroidTarget target, String abiType, Map<String, String> properties, - ISdkLog log) { + ILogger log) { properties.remove(AVD_INI_IMAGES_1); properties.remove(AVD_INI_IMAGES_2); diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/HardwareProperties.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/HardwareProperties.java index a7a3157..33156b4 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/HardwareProperties.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/avd/HardwareProperties.java @@ -16,7 +16,7 @@ package com.android.sdklib.internal.avd; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import java.io.BufferedReader; import java.io.File; @@ -153,10 +153,10 @@ public class HardwareProperties { /** * Parses the hardware definition file. * @param file the property file to parse - * @param log the ISdkLog object receiving warning/error from the parsing. Cannot be null. + * @param log the ILogger object receiving warning/error from the parsing. Cannot be null. * @return the map of (key,value) pairs, or null if the parsing failed. */ - public static Map<String, HardwareProperty> parseHardwareDefinitions(File file, ISdkLog log) { + public static Map<String, HardwareProperty> parseHardwareDefinitions(File file, ILogger log) { BufferedReader reader = null; try { FileInputStream fis = new FileInputStream(file); diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/build/MakeIdentity.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/build/MakeIdentity.java index ca1605a..955a81c 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/build/MakeIdentity.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/build/MakeIdentity.java @@ -17,7 +17,7 @@ package com.android.sdklib.internal.build; import com.android.appauth.Certificate; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import java.io.FileInputStream; import java.io.IOException; @@ -64,7 +64,7 @@ public class MakeIdentity { * @throws IOException * @throws UnrecoverableEntryException */ - public boolean make(PrintStream ps, ISdkLog log) + public boolean make(PrintStream ps, ILogger log) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException, UnrecoverableEntryException { 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 57e9073..8bc5d91 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 @@ -21,9 +21,9 @@ import com.android.SdkConstants; import com.android.io.FileWrapper; import com.android.io.FolderWrapper; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.project.ProjectProperties.PropertyType; +import com.android.utils.ILogger; import com.android.xml.AndroidManifest; import com.android.xml.AndroidXPathFactory; @@ -143,7 +143,7 @@ public class ProjectCreator { /** The {@link OutputLevel} verbosity. */ private final OutputLevel mLevel; /** Logger for errors and output. Cannot be null. */ - private final ISdkLog mLog; + private final ILogger mLog; /** The OS path of the SDK folder. */ private final String mSdkFolder; /** The {@link SdkManager} instance. */ @@ -157,7 +157,7 @@ public class ProjectCreator { * @param level The {@link OutputLevel} verbosity. * @param log Logger for errors and output. Cannot be null. */ - public ProjectCreator(SdkManager sdkManager, String sdkFolder, OutputLevel level, ISdkLog log) { + public ProjectCreator(SdkManager sdkManager, String sdkFolder, OutputLevel level, ILogger log) { mSdkManager = sdkManager; mSdkFolder = sdkFolder; mLevel = level; @@ -1237,8 +1237,8 @@ public class ProjectCreator { /** * Prints a message unless silence is enabled. * <p/> - * This is just a convenience wrapper around {@link ISdkLog#printf(String, Object...)} from - * {@link #mLog} after testing if ouput level is {@link OutputLevel#VERBOSE}. + * This is just a convenience wrapper around {@link ILogger#info(String, Object...)} from + * {@link #mLog} after testing if output level is {@link OutputLevel#VERBOSE}. * * @param format Format for String.format * @param args Arguments for String.format @@ -1248,7 +1248,7 @@ public class ProjectCreator { if (!format.endsWith("\n")) { format += "\n"; } - mLog.printf(format, args); + mLog.info(format, args); } } diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java index 458a433..57e6190 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java @@ -23,7 +23,7 @@ import com.android.io.FolderWrapper; import com.android.io.IAbstractFile; import com.android.io.IAbstractFolder; import com.android.io.StreamException; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import java.io.BufferedReader; import java.io.FileNotFoundException; @@ -420,12 +420,12 @@ public class ProjectProperties implements IPropertySource { * <p/>If the file is not present, null is returned with no error messages sent to the log. * * @param propFile the property file to parse - * @param log the ISdkLog object receiving warning/error from the parsing. + * @param log the ILogger object receiving warning/error from the parsing. * @return the map of (key,value) pairs, or null if the parsing failed. */ public static Map<String, String> parsePropertyFile( @NonNull IAbstractFile propFile, - @Nullable ISdkLog log) { + @Nullable ILogger log) { BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(propFile.getContents(), diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ITaskMonitor.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ITaskMonitor.java index 248ec2b..74dd14a 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ITaskMonitor.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ITaskMonitor.java @@ -16,7 +16,7 @@ package com.android.sdklib.internal.repository; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; /** @@ -45,9 +45,9 @@ import com.android.sdklib.ISdkLog; * logged and/or might hide the verbose text unless a flag is checked by the user. * This is set using {@link #log}, {@link #logError} and {@link #logVerbose}. * <p/> - * A monitor is also an {@link ISdkLog} implementation. + * A monitor is also an {@link ILogger} implementation. */ -public interface ITaskMonitor extends ISdkLog { +public interface ITaskMonitor extends ILogger { /** * Sets the description in the current task dialog. diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java index ce39d90..313819b 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java @@ -19,7 +19,6 @@ package com.android.sdklib.internal.repository; import com.android.SdkConstants; import com.android.annotations.NonNull; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; import com.android.sdklib.ISystemImage; import com.android.sdklib.ISystemImage.LocationType; import com.android.sdklib.SdkManager; @@ -35,6 +34,7 @@ import com.android.sdklib.internal.repository.packages.SamplePackage; import com.android.sdklib.internal.repository.packages.SourcePackage; import com.android.sdklib.internal.repository.packages.SystemImagePackage; import com.android.sdklib.internal.repository.packages.ToolPackage; +import com.android.utils.ILogger; import com.android.utils.Pair; import java.io.File; @@ -281,7 +281,7 @@ public class LocalSdkParser { private void scanExtras(SdkManager sdkManager, HashSet<File> visited, ArrayList<Package> packages, - ISdkLog log) { + ILogger log) { File root = new File(sdkManager.getLocation(), SdkConstants.FD_EXTRAS); if (!root.isDirectory()) { @@ -303,7 +303,7 @@ public class LocalSdkParser { private void scanExtrasDirectory(String extrasRoot, HashSet<File> visited, ArrayList<Package> packages, - ISdkLog log) { + ILogger log) { File root = new File(extrasRoot); if (!root.isDirectory()) { @@ -349,7 +349,7 @@ public class LocalSdkParser { private void scanMissingSamples(SdkManager sdkManager, HashSet<File> visited, ArrayList<Package> packages, - ISdkLog log) { + ILogger log) { File root = new File(sdkManager.getLocation()); root = new File(root, SdkConstants.FD_SAMPLES); @@ -384,7 +384,7 @@ public class LocalSdkParser { private void scanMissingAddons(SdkManager sdkManager, HashSet<File> visited, ArrayList<Package> packages, - ISdkLog log) { + ILogger log) { File addons = new File(new File(sdkManager.getLocation()), SdkConstants.FD_ADDONS); File[] files = addons.listFiles(); @@ -423,7 +423,7 @@ public class LocalSdkParser { private void scanMissingSystemImages(SdkManager sdkManager, HashSet<File> visited, ArrayList<Package> packages, - ISdkLog log) { + ILogger log) { File siRoot = new File(sdkManager.getLocation(), SdkConstants.FD_SYSTEM_IMAGES); File[] files = siRoot.listFiles(); @@ -469,7 +469,7 @@ public class LocalSdkParser { private void scanSources(SdkManager sdkManager, HashSet<File> visited, ArrayList<Package> packages, - ISdkLog log) { + ILogger log) { File srcRoot = new File(sdkManager.getLocation(), SdkConstants.FD_PKG_SOURCES); File[] subDirs = srcRoot.listFiles(); @@ -503,7 +503,7 @@ public class LocalSdkParser { * Try to find a tools package at the given location. * Returns null if not found. */ - private Package scanTools(File toolFolder, ISdkLog log) { + private Package scanTools(File toolFolder, ILogger log) { // Can we find some properties? Properties props = parseProperties(new File(toolFolder, SdkConstants.FN_SOURCE_PROP)); @@ -555,7 +555,7 @@ public class LocalSdkParser { * Try to find a platform-tools package at the given location. * Returns null if not found. */ - private Package scanPlatformTools(File platformToolsFolder, ISdkLog log) { + private Package scanPlatformTools(File platformToolsFolder, ILogger log) { // Can we find some properties? Properties props = parseProperties(new File(platformToolsFolder, SdkConstants.FN_SOURCE_PROP)); @@ -594,7 +594,7 @@ public class LocalSdkParser { * Try to find a docs package at the given location. * Returns null if not found. */ - private Package scanDoc(File docFolder, ISdkLog log) { + private Package scanDoc(File docFolder, ILogger log) { // Can we find some properties? Properties props = parseProperties(new File(docFolder, SdkConstants.FN_SOURCE_PROP)); diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/NullTaskMonitor.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/NullTaskMonitor.java index a666232..6464484 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/NullTaskMonitor.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/NullTaskMonitor.java @@ -16,8 +16,7 @@ package com.android.sdklib.internal.repository; -import com.android.sdklib.ISdkLog; -import com.android.sdklib.NullSdkLog; +import com.android.utils.ILogger; /** @@ -25,12 +24,12 @@ import com.android.sdklib.NullSdkLog; * <p/> * This can be passed to methods that require a monitor when the caller doesn't * have any UI to update or means to report tracked progress. - * A custom {@link ISdkLog} is used. Clients could use {@link NullSdkLog} if + * A custom {@link ILogger} is used. Clients could use {@link NullSdkLog} if * they really don't care about the logging either. */ public class NullTaskMonitor implements ITaskMonitor { - private final ISdkLog mLog; + private final ILogger mLog; /** * Creates a no-op {@link ITaskMonitor} that defers logging to the specified @@ -39,9 +38,9 @@ public class NullTaskMonitor implements ITaskMonitor { * This can be passed to methods that require a monitor when the caller doesn't * have any UI to update or means to report tracked progress. * - * @param log An {@link ISdkLog}. Must not be null. Consider using {@link NullSdkLog}. + * @param log An {@link ILogger}. Must not be null. Consider using {@link NullSdkLog}. */ - public NullTaskMonitor(ISdkLog log) { + public NullTaskMonitor(ILogger log) { mLog = log; } @@ -52,7 +51,7 @@ public class NullTaskMonitor implements ITaskMonitor { @Override public void log(String format, Object...args) { - mLog.printf(format, args); + mLog.info(format, args); } @Override @@ -62,7 +61,7 @@ public class NullTaskMonitor implements ITaskMonitor { @Override public void logVerbose(String format, Object...args) { - mLog.printf(format, args); + mLog.verbose(format, args); } @Override @@ -109,7 +108,7 @@ public class NullTaskMonitor implements ITaskMonitor { return null; } - // --- ISdkLog --- + // --- ILogger --- @Override public void error(Throwable t, String errorFormat, Object... args) { @@ -122,8 +121,12 @@ public class NullTaskMonitor implements ITaskMonitor { } @Override - public void printf(String msgFormat, Object... args) { - mLog.printf(msgFormat, args); + public void info(String msgFormat, Object... args) { + mLog.info(msgFormat, args); } + @Override + public void verbose(String msgFormat, Object... args) { + mLog.verbose(msgFormat, args); + } } diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/packages/ExtraPackage.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/packages/ExtraPackage.java index 1a4a59d..78a2450 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/packages/ExtraPackage.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/packages/ExtraPackage.java @@ -20,7 +20,6 @@ import com.android.SdkConstants; import com.android.annotations.Nullable; import com.android.annotations.VisibleForTesting; import com.android.annotations.VisibleForTesting.Visibility; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.repository.IDescription; import com.android.sdklib.internal.repository.LocalSdkParser; @@ -31,6 +30,7 @@ import com.android.sdklib.internal.repository.archives.Archive.Os; import com.android.sdklib.internal.repository.sources.SdkSource; import com.android.sdklib.repository.PkgProps; import com.android.sdklib.repository.RepoConstants; +import com.android.utils.NullLogger; import org.w3c.dom.Node; @@ -560,7 +560,7 @@ public class ExtraPackage extends MinToolsPackage osSdkRoot, sdkManager, LocalSdkParser.PARSE_EXTRAS, - new NullTaskMonitor(new NullSdkLog())); + new NullTaskMonitor(NullLogger.getLogger())); for (Package pkg : pkgs) { if (sameItemAs(pkg) && pkg instanceof ExtraPackage) { diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/sources/SdkSources.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/sources/SdkSources.java index 68b4b98..40915f2 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/sources/SdkSources.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/sources/SdkSources.java @@ -18,7 +18,7 @@ package com.android.sdklib.internal.repository.sources; import com.android.prefs.AndroidLocation; import com.android.prefs.AndroidLocation.AndroidLocationException; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import java.io.File; import java.io.FileInputStream; @@ -260,7 +260,7 @@ public class SdkSources { * <p/> * This calls {@link #notifyChangeListeners()} at the end of the operation. */ - public void loadUserAddons(ISdkLog log) { + public void loadUserAddons(ILogger log) { // Implementation detail: synchronize on the sources list to make sure that // a- the source list doesn't change while we load/save it, and most important // b- to make sure it's not being saved while loaded or the reverse. @@ -334,7 +334,7 @@ public class SdkSources { * Saves all the user sources. * @param log Logger. Cannot be null. */ - public void saveUserAddons(ISdkLog log) { + public void saveUserAddons(ILogger log) { // See the implementation detail note in loadUserAddons() about the synchronization. synchronized (mSources) { FileOutputStream fos = null; diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/util/CommandLineParser.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/util/CommandLineParser.java index 530569f..3a86ea7 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/util/CommandLineParser.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/util/CommandLineParser.java @@ -18,7 +18,7 @@ package com.android.sdklib.util; import com.android.annotations.NonNull; import com.android.annotations.Nullable; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import java.util.ArrayList; import java.util.HashMap; @@ -97,7 +97,7 @@ public class CommandLineParser { */ private final HashMap<String, Arg> mArguments = new HashMap<String, Arg>(); /** Logger */ - private final ISdkLog mLog; + private final ILogger mLog; /** * Constructs a new command-line processor. @@ -108,7 +108,7 @@ public class CommandLineParser { * * @see #mActions */ - public CommandLineParser(ISdkLog logger, String[][] actions) { + public CommandLineParser(ILogger logger, String[][] actions) { mLog = logger; mActions = actions; @@ -952,7 +952,7 @@ public class CommandLineParser { protected void stdout(String format, Object...args) { String output = String.format(format, args); output = LineUtil.reflowLine(output); - mLog.printf("%s\n", output); //$NON-NLS-1$ + mLog.info("%s\n", output); //$NON-NLS-1$ } /** diff --git a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/SdkManagerTestCase.java b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/SdkManagerTestCase.java index a93978c..46d1db4 100755 --- a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/SdkManagerTestCase.java +++ b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/SdkManagerTestCase.java @@ -24,6 +24,7 @@ import com.android.sdklib.internal.avd.AvdManager; import com.android.sdklib.io.FileOp; import com.android.sdklib.mock.MockLog; import com.android.sdklib.repository.PkgProps; +import com.android.utils.ILogger; import java.io.File; import java.io.FileWriter; @@ -108,7 +109,7 @@ public class SdkManagerTestCase extends TestCase { */ private File mTmpAvdRoot; - public TmpAvdManager(SdkManager sdkManager, ISdkLog log) throws AndroidLocationException { + public TmpAvdManager(SdkManager sdkManager, ILogger log) throws AndroidLocationException { super(sdkManager, log); } diff --git a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/internal/repository/MockMonitor.java b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/internal/repository/MockMonitor.java index f55652c..cae5921 100755 --- a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/internal/repository/MockMonitor.java +++ b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/internal/repository/MockMonitor.java @@ -102,7 +102,11 @@ public class MockMonitor implements ITaskMonitor { } @Override - public void printf(String msgFormat, Object... args) { + public void info(String msgFormat, Object... args) { + } + + @Override + public void verbose(String msgFormat, Object... args) { } @Override diff --git a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/mock/MockLog.java b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/mock/MockLog.java index 95a2693..e92db51 100644 --- a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/mock/MockLog.java +++ b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/mock/MockLog.java @@ -17,18 +17,18 @@ package com.android.sdklib.mock; import com.android.annotations.NonNull; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import java.util.ArrayList; import java.util.Formatter; import java.util.List; /** - * An instance of {@link ISdkLog} that captures all messages to an internal list. + * An instance of {@link ILogger} that captures all messages to an internal list. * Messages can be retrieved later using {@link #toString()}. * Useful for unit-tests. */ -public class MockLog implements ISdkLog { +public class MockLog implements ILogger { private ArrayList<String> mMessages = new ArrayList<String>(); private void add(String code, String format, Object... args) { @@ -43,11 +43,16 @@ public class MockLog implements ISdkLog { } @Override - public void printf(String format, Object... args) { + public void info(String format, Object... args) { add("P ", format, args); } @Override + public void verbose(String format, Object... args) { + add("V ", format, args); + } + + @Override public void error(Throwable t, String format, Object... args) { if (t != null) { add("T", "%s", t.toString()); diff --git a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/util/CommandLineParserTest.java b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/util/CommandLineParserTest.java index 99e0ba4..7d8a01f 100644 --- a/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/util/CommandLineParserTest.java +++ b/sdkmanager/libs/sdklib/tests/src/com/android/sdklib/util/CommandLineParserTest.java @@ -16,8 +16,8 @@ package com.android.sdklib.util; -import com.android.sdklib.ISdkLog; -import com.android.sdklib.StdSdkLog; +import com.android.utils.ILogger; +import com.android.utils.StdLogger; import java.util.Arrays; import java.util.List; @@ -27,7 +27,7 @@ import junit.framework.TestCase; public class CommandLineParserTest extends TestCase { - private StdSdkLog mLog; + private StdLogger mLog; /** * A mock version of the {@link CommandLineParser} class that does not @@ -39,7 +39,7 @@ public class CommandLineParserTest extends TestCase { private String mStdOut = ""; private String mStdErr = ""; - public MockCommandLineProcessor(ISdkLog logger) { + public MockCommandLineProcessor(ILogger logger) { super(logger, new String[][] { { "verb1", "action1", "Some action" }, @@ -104,7 +104,7 @@ public class CommandLineParserTest extends TestCase { @Override protected void setUp() throws Exception { - mLog = new StdSdkLog(); + mLog = new StdLogger(StdLogger.Level.VERBOSE); super.setUp(); } diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/IUpdaterData.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/IUpdaterData.java index 26c52d5..acc3990 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/IUpdaterData.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/IUpdaterData.java @@ -16,12 +16,12 @@ package com.android.sdkuilib.internal.repository; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.avd.AvdManager; -import com.android.sdklib.internal.repository.ITaskFactory; import com.android.sdklib.internal.repository.DownloadCache; +import com.android.sdklib.internal.repository.ITaskFactory; import com.android.sdkuilib.internal.repository.icons.ImageFactory; +import com.android.utils.ILogger; import org.eclipse.swt.widgets.Shell; @@ -34,7 +34,7 @@ interface IUpdaterData { public abstract ITaskFactory getTaskFactory(); - public abstract ISdkLog getSdkLog(); + public abstract ILogger getSdkLog(); public abstract DownloadCache getDownloadCache(); diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java index 67ca690..b5bd011 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java @@ -16,7 +16,6 @@ package com.android.sdkuilib.internal.repository; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.repository.ITask; import com.android.sdklib.internal.repository.ITaskFactory; @@ -24,6 +23,7 @@ import com.android.sdklib.internal.repository.ITaskMonitor; import com.android.sdklib.internal.repository.NullTaskMonitor; import com.android.sdklib.internal.repository.UserCredentials; import com.android.sdklib.repository.SdkRepoConstants; +import com.android.utils.ILogger; import com.android.utils.Pair; import java.io.IOException; @@ -37,8 +37,8 @@ public class SdkUpdaterNoWindow { /** The {@link UpdaterData} to use. */ private final UpdaterData mUpdaterData; - /** The {@link ISdkLog} logger to use. */ - private final ISdkLog mSdkLog; + /** The {@link ILogger} logger to use. */ + private final ILogger mSdkLog; /** The reply to any question asked by the update process. Currently this will * be yes/no for ability to replace modified samples or restart ADB. */ private final boolean mForce; @@ -58,7 +58,7 @@ public class SdkUpdaterNoWindow { */ public SdkUpdaterNoWindow(String osSdkRoot, SdkManager sdkManager, - ISdkLog sdkLog, + ILogger sdkLog, boolean force, boolean useHttp, String proxyHost, @@ -77,7 +77,7 @@ public class SdkUpdaterNoWindow { // Change the in-memory settings to force the http/https mode settingsController.setSetting(ISettingsPage.KEY_FORCE_HTTP, useHttp); - // Use a factory that only outputs to the given ISdkLog. + // Use a factory that only outputs to the given ILogger. mUpdaterData.setTaskFactory(new ConsoleTaskFactory()); // Check that the AVD Manager has been correctly initialized. This is done separately @@ -201,7 +201,7 @@ public class SdkUpdaterNoWindow { * Creates a new {@link ConsoleTaskMonitor} with the given title. */ public ConsoleTaskMonitor(String title, ITask task) { - mSdkLog.printf("%s:\n", title); + mSdkLog.info("%s:\n", title); } /** @@ -241,7 +241,7 @@ public class SdkUpdaterNoWindow { line = '\n' + line; } - mSdkLog.printf("%s", line); //$NON-NLS-1$ + mSdkLog.info("%s", line); //$NON-NLS-1$ } @Override @@ -259,7 +259,7 @@ public class SdkUpdaterNoWindow { // The ConsoleTask does not display verbose log messages. } - // --- ISdkLog --- + // --- ILogger --- @Override public void error(Throwable t, String errorFormat, Object... args) { @@ -272,8 +272,13 @@ public class SdkUpdaterNoWindow { } @Override - public void printf(String msgFormat, Object... args) { - mSdkLog.printf(msgFormat, args); + public void info(String msgFormat, Object... args) { + mSdkLog.info(msgFormat, args); + } + + @Override + public void verbose(String msgFormat, Object... args) { + mSdkLog.verbose(msgFormat, args); } /** @@ -347,7 +352,7 @@ public class SdkUpdaterNoWindow { @Override public boolean displayPrompt(final String title, final String message) { // TODO Make it interactive if mForce==false - mSdkLog.printf("\n%1$s\n%2$s\n%3$s", //$NON-NLS-1$ + mSdkLog.info("\n%1$s\n%2$s\n%3$s", //$NON-NLS-1$ title, message, mForce ? "--force used, will reply yes\n" : @@ -357,11 +362,11 @@ public class SdkUpdaterNoWindow { } while (true) { - mSdkLog.printf("%1$s", "[y/n] =>"); //$NON-NLS-1$ + mSdkLog.info("%1$s", "[y/n] =>"); //$NON-NLS-1$ try { byte[] readBuffer = new byte[2048]; String reply = readLine(readBuffer).trim(); - mSdkLog.printf("\n"); //$NON-NLS-1$ + mSdkLog.info("\n"); //$NON-NLS-1$ if (reply.length() > 0 && reply.length() <= 3) { char c = reply.charAt(0); if (c == 'y' || c == 'Y') { @@ -370,11 +375,11 @@ public class SdkUpdaterNoWindow { return false; } } - mSdkLog.printf("Unknown reply '%s'. Please use y[es]/n[o].\n"); //$NON-NLS-1$ + mSdkLog.info("Unknown reply '%s'. Please use y[es]/n[o].\n"); //$NON-NLS-1$ } catch (IOException e) { // Exception. Be conservative and say no. - mSdkLog.printf("\n"); //$NON-NLS-1$ + mSdkLog.info("\n"); //$NON-NLS-1$ return false; } } @@ -411,17 +416,17 @@ public class SdkUpdaterNoWindow { String workstation = ""; //$NON-NLS-1$ String domain = ""; //$NON-NLS-1$ - mSdkLog.printf("\n%1$s\n%2$s", title, message); + mSdkLog.info("\n%1$s\n%2$s", title, message); byte[] readBuffer = new byte[2048]; try { - mSdkLog.printf("\nLogin: "); + mSdkLog.info("\nLogin: "); login = readLine(readBuffer); - mSdkLog.printf("\nPassword: "); + mSdkLog.info("\nPassword: "); password = readLine(readBuffer); - mSdkLog.printf("\nIf your proxy uses NTLM authentication, provide the following information. Leave blank otherwise."); - mSdkLog.printf("\nWorkstation: "); + mSdkLog.info("\nIf your proxy uses NTLM authentication, provide the following information. Leave blank otherwise."); + mSdkLog.info("\nWorkstation: "); workstation = readLine(readBuffer); - mSdkLog.printf("\nDomain: "); + mSdkLog.info("\nDomain: "); domain = readLine(readBuffer); /* @@ -437,7 +442,7 @@ public class SdkUpdaterNoWindow { workstation = ""; //$NON-NLS-1$ domain = ""; //$NON-NLS-1$ //Just print the error to console. - mSdkLog.printf("\nError occurred during login/pass query: %s\n", e.getMessage()); + mSdkLog.info("\nError occurred during login/pass query: %s\n", e.getMessage()); } return new UserCredentials(login, password, workstation, domain); @@ -593,7 +598,7 @@ public class SdkUpdaterNoWindow { tickCount * mSubCoef); } - // --- ISdkLog --- + // --- ILogger --- @Override public void error(Throwable t, String errorFormat, Object... args) { @@ -606,8 +611,13 @@ public class SdkUpdaterNoWindow { } @Override - public void printf(String msgFormat, Object... args) { - mRoot.printf(msgFormat, args); + public void info(String msgFormat, Object... args) { + mRoot.info(msgFormat, args); + } + + @Override + public void verbose(String msgFormat, Object... args) { + mRoot.verbose(msgFormat, args); } } } diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SettingsController.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SettingsController.java index 513d159..2d2352b 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SettingsController.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SettingsController.java @@ -19,7 +19,7 @@ package com.android.sdkuilib.internal.repository; import com.android.annotations.NonNull; import com.android.prefs.AndroidLocation; import com.android.prefs.AndroidLocation.AndroidLocationException; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import java.io.File; import java.io.FileInputStream; @@ -42,7 +42,7 @@ public class SettingsController { private static final String SETTINGS_FILENAME = "androidtool.cfg"; //$NON-NLS-1$ - private final ISdkLog mSdkLog; + private final ILogger mSdkLog; private final Settings mSettings; public interface OnChangedListener { @@ -58,7 +58,7 @@ public class SettingsController { * * @param sdkLog A non-null logger to use. */ - public SettingsController(@NonNull ISdkLog sdkLog) { + public SettingsController(@NonNull ILogger sdkLog) { mSdkLog = sdkLog; mSettings = new Settings(); } @@ -71,7 +71,7 @@ public class SettingsController { * @param sdkLog A non-null logger to use. * @param settings A non-null {@link Settings} to use as-is. It is not duplicated. */ - protected SettingsController(@NonNull ISdkLog sdkLog, @NonNull Settings settings) { + protected SettingsController(@NonNull ILogger sdkLog, @NonNull Settings settings) { mSdkLog = sdkLog; mSettings = settings; } 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 f750701..74a125c 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 @@ -20,7 +20,6 @@ import com.android.SdkConstants; import com.android.annotations.VisibleForTesting; import com.android.annotations.VisibleForTesting.Visibility; import com.android.prefs.AndroidLocation.AndroidLocationException; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.avd.AvdManager; import com.android.sdklib.internal.repository.AdbWrapper; @@ -49,6 +48,7 @@ import com.android.sdkuilib.internal.repository.icons.ImageFactory; import com.android.sdkuilib.internal.repository.sdkman2.PackageLoader; import com.android.sdkuilib.internal.repository.sdkman2.SdkUpdaterWindowImpl2; import com.android.sdkuilib.repository.ISdkChangeListener; +import com.android.utils.ILogger; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Shell; @@ -81,7 +81,7 @@ public class UpdaterData implements IUpdaterData { private final SdkSources mSources = new SdkSources(); private final SettingsController mSettingsController; private final ArrayList<ISdkChangeListener> mListeners = new ArrayList<ISdkChangeListener>(); - private final ISdkLog mSdkLog; + private final ILogger mSdkLog; private ITaskFactory mTaskFactory; private Shell mWindowShell; private SdkManager mSdkManager; @@ -110,7 +110,7 @@ public class UpdaterData implements IUpdaterData { * @param sdkLog Logger. Cannot be null. * @param osSdkRoot The OS path to the SDK root. */ - public UpdaterData(String osSdkRoot, ISdkLog sdkLog) { + public UpdaterData(String osSdkRoot, ILogger sdkLog) { mOsSdkRoot = osSdkRoot; mSdkLog = sdkLog; @@ -154,7 +154,7 @@ public class UpdaterData implements IUpdaterData { } @Override - public ISdkLog getSdkLog() { + public ILogger getSdkLog() { return mSdkLog; } @@ -817,7 +817,7 @@ public class UpdaterData implements IUpdaterData { List<ArchiveInfo> archives = getRemoteArchives_NoGUI(includeAll); - mSdkLog.printf("Packages available for installation or update: %1$d\n", archives.size()); + mSdkLog.info("Packages available for installation or update: %1$d\n", archives.size()); int index = 1; for (ArchiveInfo ai : archives) { @@ -826,15 +826,15 @@ public class UpdaterData implements IUpdaterData { Package p = a.getParentPackage(); if (p != null) { if (extendedOutput) { - mSdkLog.printf("----------\n"); - mSdkLog.printf("id: %1$d or \"%2$s\"\n", index, p.installId()); - mSdkLog.printf(" Type: %1$s\n", + mSdkLog.info("----------\n"); + mSdkLog.info("id: %1$d or \"%2$s\"\n", index, p.installId()); + mSdkLog.info(" Type: %1$s\n", p.getClass().getSimpleName().replaceAll("Package", "")); //$NON-NLS-1$ //$NON-NLS-2$ String desc = LineUtil.reformatLine(" Desc: %s\n", p.getLongDescription()); - mSdkLog.printf("%s", desc); //$NON-NLS-1$ + mSdkLog.info("%s", desc); //$NON-NLS-1$ } else { - mSdkLog.printf("%1$ 4d- %2$s\n", + mSdkLog.info("%1$ 4d- %2$s\n", index, p.getShortDescription()); } @@ -847,7 +847,7 @@ public class UpdaterData implements IUpdaterData { /** * Tries to update all the *existing* local packages. * This version is intended to run without a GUI and - * only outputs to the current {@link ISdkLog}. + * only outputs to the current {@link ILogger}. * * @param pkgFilter A list of {@link SdkRepoConstants#NODES} or {@link Package#installId()} * or package indexes to limit the packages we can update or install. @@ -950,7 +950,7 @@ public class UpdaterData implements IUpdaterData { } if (archives.size() == 0) { - mSdkLog.printf(LineUtil.reflowLine( + mSdkLog.info(LineUtil.reflowLine( "Warning: The package filter removed all packages. There is nothing to install.\nPlease consider trying to update again without a package filter.\n")); return null; } @@ -958,22 +958,22 @@ public class UpdaterData implements IUpdaterData { if (archives != null && archives.size() > 0) { if (dryMode) { - mSdkLog.printf("Packages selected for install:\n"); + mSdkLog.info("Packages selected for install:\n"); for (ArchiveInfo ai : archives) { Archive a = ai.getNewArchive(); if (a != null) { Package p = a.getParentPackage(); if (p != null) { - mSdkLog.printf("- %1$s\n", p.getShortDescription()); + mSdkLog.info("- %1$s\n", p.getShortDescription()); } } } - mSdkLog.printf("\nDry mode is on so nothing is actually being installed.\n"); + mSdkLog.info("\nDry mode is on so nothing is actually being installed.\n"); } else { return installArchives(archives, NO_TOOLS_MSG); } } else { - mSdkLog.printf("There is nothing to install or update.\n"); + mSdkLog.info("There is nothing to install or update.\n"); } return null; diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterPage.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterPage.java index 9064f91..f136bfb 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterPage.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterPage.java @@ -16,14 +16,12 @@ package com.android.sdkuilib.internal.repository; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import org.eclipse.swt.widgets.Composite; import java.lang.reflect.Constructor; - - /** * Base class for pages shown in the updater. */ @@ -57,7 +55,7 @@ public abstract class UpdaterPage extends Composite { Class<? extends UpdaterPage> clazz, Composite parent, int swtStyle, - ISdkLog log) { + ILogger log) { try { Constructor<? extends UpdaterPage> cons = diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AdtUpdateDialog.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AdtUpdateDialog.java index 58b41fe..9e8b82e 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AdtUpdateDialog.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AdtUpdateDialog.java @@ -18,7 +18,6 @@ package com.android.sdkuilib.internal.repository.sdkman2; import com.android.sdklib.AndroidVersion; -import com.android.sdklib.ISdkLog; import com.android.sdklib.internal.repository.packages.ExtraPackage; import com.android.sdklib.internal.repository.packages.Package; import com.android.sdklib.internal.repository.packages.PlatformPackage; @@ -33,6 +32,7 @@ import com.android.sdkuilib.internal.tasks.ProgressViewFactory; import com.android.sdkuilib.ui.GridDataBuilder; import com.android.sdkuilib.ui.GridLayoutBuilder; import com.android.sdkuilib.ui.SwtBaseDialog; +import com.android.utils.ILogger; import com.android.utils.Pair; import org.eclipse.swt.SWT; @@ -92,7 +92,7 @@ public class AdtUpdateDialog extends SwtBaseDialog { */ public AdtUpdateDialog( Shell parentShell, - ISdkLog sdkLog, + ILogger sdkLog, String osSdkRoot) { super(parentShell, SWT.NONE, APP_NAME); mUpdaterData = new UpdaterData(osSdkRoot, sdkLog); diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AvdManagerWindowImpl1.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AvdManagerWindowImpl1.java index 9cd2b58..29806a1 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AvdManagerWindowImpl1.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/AvdManagerWindowImpl1.java @@ -18,7 +18,6 @@ package com.android.sdkuilib.internal.repository.sdkman2; import com.android.SdkConstants; -import com.android.sdklib.ISdkLog; import com.android.sdklib.devices.Device; import com.android.sdklib.devices.DeviceManager; import com.android.sdklib.internal.repository.ITaskFactory; @@ -33,6 +32,7 @@ import com.android.sdkuilib.internal.widgets.DeviceCreationDialog; import com.android.sdkuilib.repository.AvdManagerWindow.AvdInvocationContext; import com.android.sdkuilib.repository.ISdkChangeListener; import com.android.sdkuilib.repository.SdkUpdaterWindow; +import com.android.utils.ILogger; import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; @@ -89,7 +89,7 @@ public class AvdManagerWindowImpl1 { */ public AvdManagerWindowImpl1( Shell parentShell, - ISdkLog sdkLog, + ILogger sdkLog, String osSdkRoot, AvdInvocationContext context) { mParentShell = parentShell; diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/LogWindow.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/LogWindow.java index 4cdd198..ce8b400 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/LogWindow.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/LogWindow.java @@ -16,10 +16,10 @@ package com.android.sdkuilib.internal.repository.sdkman2; -import com.android.sdklib.ISdkLog; import com.android.sdkuilib.internal.tasks.ILogUiProvider; import com.android.sdkuilib.ui.GridDataBuilder; import com.android.sdkuilib.ui.GridLayoutBuilder; +import com.android.utils.ILogger; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyleRange; @@ -57,7 +57,7 @@ class LogWindow implements ILogUiProvider { private Label mLogDescription; private Button mCloseButton; - private final ISdkLog mSecondaryLog; + private final ILogger mSecondaryLog; private boolean mCloseRequested; private boolean mInitPosition = true; private String mLastLogMsg = null; @@ -74,7 +74,7 @@ class LogWindow implements ILogUiProvider { * @param parentShell Parent container * @param secondaryLog An optional logger where messages will <em>also</em> be output. */ - public LogWindow(Shell parentShell, ISdkLog secondaryLog) { + public LogWindow(Shell parentShell, ILogger secondaryLog) { mParentShell = parentShell; mSecondaryLog = secondaryLog; } @@ -208,7 +208,7 @@ class LogWindow implements ILogUiProvider { appendLine(TextStyle.TITLE, description); if (mSecondaryLog != null) { - mSecondaryLog.printf("%1$s", description); //$NON-NLS-1$ + mSecondaryLog.info("%1$s", description); //$NON-NLS-1$ } } } @@ -230,7 +230,7 @@ class LogWindow implements ILogUiProvider { }); if (mSecondaryLog != null) { - mSecondaryLog.printf(" %1$s", log); //$NON-NLS-1$ + mSecondaryLog.info(" %1$s", log); //$NON-NLS-1$ } } } @@ -271,7 +271,7 @@ class LogWindow implements ILogUiProvider { }); if (mSecondaryLog != null) { - mSecondaryLog.printf(" %1$s", log); //$NON-NLS-1$ + mSecondaryLog.info(" %1$s", log); //$NON-NLS-1$ } } } 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 aa4bc6c..7d110e5 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 @@ -16,16 +16,16 @@ package com.android.sdkuilib.internal.repository.sdkman2; -import com.android.sdklib.ISdkLog; import com.android.sdkuilib.internal.tasks.ILogUiProvider; +import com.android.utils.ILogger; /** - * Adapter that transform log from an {@link ILogUiProvider} to an {@link ISdkLog}. + * Adapter that transform log from an {@link ILogUiProvider} to an {@link ILogger}. */ public final class SdkLogAdapter implements ILogUiProvider { - private ISdkLog mSdkLog; + private ILogger mSdkLog; private String mLastLogMsg; /** @@ -33,7 +33,7 @@ public final class SdkLogAdapter implements ILogUiProvider { * * @param sdkLog The logger to output to. Must not be null. */ - public SdkLogAdapter(ISdkLog sdkLog) { + public SdkLogAdapter(ILogger sdkLog) { mSdkLog = sdkLog; } @@ -44,7 +44,7 @@ public final class SdkLogAdapter implements ILogUiProvider { @Override public void setDescription(final String description) { if (acceptLog(description)) { - mSdkLog.printf("%1$s", description); //$NON-NLS-1$ + mSdkLog.info("%1$s", description); //$NON-NLS-1$ } } @@ -55,7 +55,7 @@ public final class SdkLogAdapter implements ILogUiProvider { @Override public void log(String log) { if (acceptLog(log)) { - mSdkLog.printf(" %1$s", log); //$NON-NLS-1$ + mSdkLog.info(" %1$s", log); //$NON-NLS-1$ } } @@ -78,7 +78,7 @@ public final class SdkLogAdapter implements ILogUiProvider { @Override public void logVerbose(String log) { if (acceptLog(log)) { - mSdkLog.printf(" %1$s", log); //$NON-NLS-1$ + mSdkLog.verbose(" %1$s", log); //$NON-NLS-1$ } } diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkUpdaterWindowImpl2.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkUpdaterWindowImpl2.java index 623126f..6d38460 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkUpdaterWindowImpl2.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/sdkman2/SdkUpdaterWindowImpl2.java @@ -18,7 +18,6 @@ package com.android.sdkuilib.internal.repository.sdkman2; import com.android.SdkConstants; -import com.android.sdklib.ISdkLog; import com.android.sdklib.internal.repository.ITaskFactory; import com.android.sdklib.internal.repository.sources.SdkSourceProperties; import com.android.sdkuilib.internal.repository.AboutDialog; @@ -38,6 +37,7 @@ import com.android.sdkuilib.internal.widgets.ToggleButton; import com.android.sdkuilib.repository.AvdManagerWindow.AvdInvocationContext; import com.android.sdkuilib.repository.ISdkChangeListener; import com.android.sdkuilib.repository.SdkUpdaterWindow.SdkInvocationContext; +import com.android.utils.ILogger; import org.eclipse.swt.SWT; import org.eclipse.swt.events.DisposeEvent; @@ -96,7 +96,7 @@ public class SdkUpdaterWindowImpl2 implements ISdkUpdaterWindow { */ public SdkUpdaterWindowImpl2( Shell parentShell, - ISdkLog sdkLog, + ILogger sdkLog, String osSdkRoot, SdkInvocationContext context) { mParentShell = parentShell; diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/tasks/TaskMonitorImpl.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/tasks/TaskMonitorImpl.java index 9958920..e77ec13 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/tasks/TaskMonitorImpl.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/tasks/TaskMonitorImpl.java @@ -203,7 +203,7 @@ class TaskMonitorImpl implements ITaskMonitor { return new SubTaskMonitor(this, null, mValue, tickCount * mIncCoef); } - // ----- ISdkLog interface ---- + // ----- ILogger interface ---- @Override public void error(Throwable throwable, String errorFormat, Object... arg) { @@ -222,7 +222,12 @@ class TaskMonitorImpl implements ITaskMonitor { } @Override - public void printf(String msgFormat, Object... arg) { + public void info(String msgFormat, Object... arg) { + log(msgFormat, arg); + } + + @Override + public void verbose(String msgFormat, Object... arg) { log(msgFormat, arg); } @@ -338,7 +343,7 @@ class TaskMonitorImpl implements ITaskMonitor { tickCount * mSubCoef); } - // ----- ISdkLog interface ---- + // ----- ILogger interface ---- @Override public void error(Throwable throwable, String errorFormat, Object... arg) { @@ -351,8 +356,13 @@ class TaskMonitorImpl implements ITaskMonitor { } @Override - public void printf(String msgFormat, Object... arg) { - mRoot.printf(msgFormat, arg); + public void info(String msgFormat, Object... arg) { + mRoot.info(msgFormat, arg); + } + + @Override + public void verbose(String msgFormat, Object... arg) { + mRoot.verbose(msgFormat, arg); } } } diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdCreationDialog.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdCreationDialog.java index 5919c73..9310a42 100644 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdCreationDialog.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdCreationDialog.java @@ -21,7 +21,6 @@ import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.resources.Density; import com.android.resources.ScreenSize; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; import com.android.sdklib.ISystemImage; import com.android.sdklib.SdkManager; import com.android.sdklib.devices.Camera; @@ -37,6 +36,7 @@ import com.android.sdklib.internal.avd.AvdManager.AvdConflict; import com.android.sdklib.internal.avd.HardwareProperties; import com.android.sdkuilib.internal.repository.icons.ImageFactory; import com.android.sdkuilib.ui.GridDialog; +import com.android.utils.ILogger; import com.android.utils.Pair; import org.eclipse.jface.dialogs.IDialogConstants; @@ -69,7 +69,7 @@ public class AvdCreationDialog extends GridDialog { private AvdManager mAvdManager; private ImageFactory mImageFactory; - private ISdkLog mSdkLog; + private ILogger mSdkLog; private AvdInfo mAvdInfo; // A map from manufacturers to their list of devices. @@ -133,7 +133,7 @@ public class AvdCreationDialog extends GridDialog { public AvdCreationDialog(Shell shell, AvdManager avdManager, ImageFactory imageFactory, - ISdkLog log, + ILogger log, AvdInfo editAvdInfo) { super(shell, 2, false); @@ -856,7 +856,7 @@ public class AvdCreationDialog extends GridDialog { Screen s = device.getDefaultHardware().getScreen(); String skinName = s.getXDimension() + "x" + s.getYDimension(); - ISdkLog log = mSdkLog; + ILogger log = mSdkLog; if (log == null || log instanceof MessageBoxLog) { // If the current logger is a message box, we use our own (to make sure // to display errors right away and customize the title). diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdSelector.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdSelector.java index 0d495c2..9c120a3 100644 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdSelector.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdSelector.java @@ -20,8 +20,6 @@ import com.android.SdkConstants; import com.android.annotations.Nullable; import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.devices.Device; import com.android.sdklib.devices.DeviceManager; import com.android.sdklib.internal.avd.AvdInfo; @@ -38,6 +36,8 @@ import com.android.sdkuilib.internal.repository.sdkman2.AvdManagerWindowImpl1; import com.android.sdkuilib.internal.tasks.ProgressTask; import com.android.sdkuilib.repository.AvdManagerWindow.AvdInvocationContext; import com.android.sdkuilib.ui.GridDialog; +import com.android.utils.ILogger; +import com.android.utils.NullLogger; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.window.Window; @@ -113,7 +113,7 @@ public final class AvdSelector { private SettingsController mController; - private final ISdkLog mSdkLog; + private final ILogger mSdkLog; /** @@ -217,7 +217,7 @@ public final class AvdSelector { AvdManager manager, IAvdFilter filter, DisplayMode displayMode, - ISdkLog sdkLog) { + ILogger sdkLog) { mOsSdkPath = osSdkPath; mAvdManager = manager; mTargetFilter = filter; @@ -406,7 +406,7 @@ public final class AvdSelector { String osSdkPath, AvdManager manager, DisplayMode displayMode, - ISdkLog sdkLog) { + ILogger sdkLog) { this(parent, osSdkPath, manager, (IAvdFilter)null /* filter */, displayMode, sdkLog); } @@ -427,7 +427,7 @@ public final class AvdSelector { AvdManager manager, IAndroidTarget filter, DisplayMode displayMode, - ISdkLog sdkLog) { + ILogger sdkLog) { this(parent, osSdkPath, manager, new TargetBasedFilter(filter), displayMode, sdkLog); } @@ -468,7 +468,7 @@ public final class AvdSelector { public boolean refresh(boolean reload) { if (reload) { try { - mAvdManager.reloadAvds(NullSdkLog.getLogger()); + mAvdManager.reloadAvds(NullLogger.getLogger()); } catch (AndroidLocationException e) { return false; } @@ -960,7 +960,7 @@ public final class AvdSelector { } // log for this action. - ISdkLog log = mSdkLog; + ILogger log = mSdkLog; if (log == null || log instanceof MessageBoxLog) { // If the current logger is a message box, we use our own (to make sure // to display errors right away and customize the title). @@ -995,7 +995,7 @@ public final class AvdSelector { final Display display = mTable.getDisplay(); // log for this action. - ISdkLog log = mSdkLog; + ILogger log = mSdkLog; if (log == null || log instanceof MessageBoxLog) { // If the current logger is a message box, we use our own (to make sure // to display errors right away and customize the title). @@ -1057,7 +1057,7 @@ public final class AvdSelector { Display display = mTable.getDisplay(); // log for this action. - ISdkLog log = mSdkLog; + ILogger log = mSdkLog; if (log == null || log instanceof MessageBoxLog) { // If the current logger is a message box, we use our own (to make sure // to display errors right away and customize the title). diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java index 9649f95..0c68dcf 100644 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java @@ -16,13 +16,13 @@ package com.android.sdkuilib.internal.widgets; -import com.android.sdklib.ISdkLog; import com.android.sdklib.devices.Device; import com.android.sdklib.devices.DeviceManager; import com.android.sdklib.internal.avd.AvdInfo; import com.android.sdklib.internal.avd.AvdManager; import com.android.sdkuilib.internal.repository.SettingsController; import com.android.sdkuilib.ui.GridDialog; +import com.android.utils.ILogger; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.window.Window; @@ -95,7 +95,7 @@ final class AvdStartDialog extends GridDialog { private Button mSnapshotLaunchCheckbox; AvdStartDialog(Shell parentShell, AvdInfo avd, String sdkLocation, - SettingsController settingsController, ISdkLog sdkLog) { + SettingsController settingsController, ILogger sdkLog) { super(parentShell, 2, false); mAvd = avd; mSdkLocation = sdkLocation; diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/LegacyAvdEditDialog.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/LegacyAvdEditDialog.java index 7133241..91f45c8 100644 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/LegacyAvdEditDialog.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/LegacyAvdEditDialog.java @@ -20,7 +20,6 @@ import com.android.SdkConstants; import com.android.io.FileWrapper; import com.android.prefs.AndroidLocation.AndroidLocationException; import com.android.sdklib.IAndroidTarget; -import com.android.sdklib.ISdkLog; import com.android.sdklib.ISystemImage; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.avd.AvdInfo; @@ -31,6 +30,7 @@ import com.android.sdklib.internal.avd.HardwareProperties.HardwareProperty; import com.android.sdklib.internal.project.ProjectProperties; import com.android.sdkuilib.internal.repository.icons.ImageFactory; import com.android.sdkuilib.ui.GridDialog; +import com.android.utils.ILogger; import com.android.utils.Pair; import org.eclipse.jface.dialogs.IDialogConstants; @@ -98,7 +98,7 @@ final class LegacyAvdEditDialog extends GridDialog { // a list of user-edited properties. private final ArrayList<String> mEditedProperties = new ArrayList<String>(); private final ImageFactory mImageFactory; - private final ISdkLog mSdkLog; + private final ILogger mSdkLog; /** * The original AvdInfo if we're editing an existing AVD. * Null when we're creating a new AVD. @@ -214,14 +214,14 @@ final class LegacyAvdEditDialog extends GridDialog { * @param parentShell The parent shell. * @param avdManager The existing {@link AvdManager} to use. Must not be null. * @param imageFactory An existing {@link ImageFactory} to use. Must not be null. - * @param log An existing {@link ISdkLog} where output will go. Must not be null. + * @param log An existing {@link ILogger} where output will go. Must not be null. * @param editAvdInfo An optional {@link AvdInfo}. When null, the dialog is used * to create a new AVD. When non-null, the dialog is used to <em>edit</em> this AVD. */ protected LegacyAvdEditDialog(Shell parentShell, AvdManager avdManager, ImageFactory imageFactory, - ISdkLog log, + ILogger log, AvdInfo editAvdInfo) { super(parentShell, 2, false); mAvdManager = avdManager; @@ -1352,7 +1352,7 @@ final class LegacyAvdEditDialog extends GridDialog { skinName = mSkinSizeWidth.getText() + "x" + mSkinSizeHeight.getText(); //$NON-NLS-1$ } - ISdkLog log = mSdkLog; + ILogger log = mSdkLog; if (log == null || log instanceof MessageBoxLog) { // If the current logger is a message box, we use our own (to make sure // to display errors right away and customize the title). diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/MessageBoxLog.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/MessageBoxLog.java index 4849e50..147f7ce 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/MessageBoxLog.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/MessageBoxLog.java @@ -16,7 +16,7 @@ package com.android.sdkuilib.internal.widgets; -import com.android.sdklib.ISdkLog; +import com.android.utils.ILogger; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Display; @@ -41,7 +41,7 @@ import java.util.ArrayList; * When <var>logErrorsOnly</var> is true, if the operation was not successful or errors * were generated, this will display the message box. */ -public final class MessageBoxLog implements ISdkLog { +public final class MessageBoxLog implements ILogger { final ArrayList<String> logMessages = new ArrayList<String>(); private final String mMessage; @@ -81,7 +81,14 @@ public final class MessageBoxLog implements ISdkLog { } @Override - public void printf(String msgFormat, Object... arg) { + public void info(String msgFormat, Object... arg) { + if (!mLogErrorsOnly) { + logMessages.add(String.format(msgFormat, arg)); + } + } + + @Override + public void verbose(String msgFormat, Object... arg) { if (!mLogErrorsOnly) { logMessages.add(String.format(msgFormat, arg)); } diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/AvdManagerWindow.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/AvdManagerWindow.java index 17816b8..aa53204 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/AvdManagerWindow.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/AvdManagerWindow.java @@ -16,9 +16,9 @@ package com.android.sdkuilib.repository; -import com.android.sdklib.ISdkLog; import com.android.sdkuilib.internal.repository.sdkman2.AvdManagerWindowImpl1; import com.android.sdkuilib.internal.widgets.AvdSelector; +import com.android.utils.ILogger; import org.eclipse.swt.widgets.Shell; @@ -77,7 +77,7 @@ public class AvdManagerWindow { */ public AvdManagerWindow( Shell parentShell, - ISdkLog sdkLog, + ILogger sdkLog, String osSdkRoot, AvdInvocationContext context) { mWindow = new AvdManagerWindowImpl1( diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/SdkUpdaterWindow.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/SdkUpdaterWindow.java index d796f47..dbcc40e 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/SdkUpdaterWindow.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/repository/SdkUpdaterWindow.java @@ -16,9 +16,9 @@ package com.android.sdkuilib.repository; -import com.android.sdklib.ISdkLog; import com.android.sdkuilib.internal.repository.ISdkUpdaterWindow; import com.android.sdkuilib.internal.repository.sdkman2.SdkUpdaterWindowImpl2; +import com.android.utils.ILogger; import org.eclipse.swt.widgets.Shell; @@ -80,7 +80,7 @@ public class SdkUpdaterWindow { */ public SdkUpdaterWindow( Shell parentShell, - ISdkLog sdkLog, + ILogger sdkLog, String osSdkRoot, SdkInvocationContext context) { diff --git a/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/MockUpdaterData.java b/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/MockUpdaterData.java index 0fc5b55..45e3163 100755 --- a/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/MockUpdaterData.java +++ b/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/MockUpdaterData.java @@ -16,8 +16,6 @@ package com.android.sdkuilib.internal.repository; -import com.android.sdklib.ISdkLog; -import com.android.sdklib.NullSdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.repository.DownloadCache; import com.android.sdklib.internal.repository.ITask; @@ -30,6 +28,8 @@ import com.android.sdklib.internal.repository.archives.ArchiveReplacement; import com.android.sdklib.mock.MockLog; import com.android.sdkuilib.internal.repository.SettingsController.Settings; import com.android.sdkuilib.internal.repository.icons.ImageFactory; +import com.android.utils.ILogger; +import com.android.utils.NullLogger; import org.eclipse.swt.graphics.Image; @@ -124,7 +124,7 @@ public class MockUpdaterData extends UpdaterData { } //------------ - public static SettingsController createSettingsController(ISdkLog sdkLog) { + public static SettingsController createSettingsController(ILogger sdkLog) { Properties props = new Properties(); Settings settings = new Settings(props) {}; // this constructor is protected MockSettingsController controller = new MockSettingsController(sdkLog, settings); @@ -136,7 +136,7 @@ public class MockUpdaterData extends UpdaterData { private Properties mProperties; - MockSettingsController(ISdkLog sdkLog, Settings settings) { + MockSettingsController(ILogger sdkLog, Settings settings) { super(sdkLog, settings); } @@ -178,7 +178,7 @@ public class MockUpdaterData extends UpdaterData { private static class MockTask extends NullTaskMonitor { public MockTask(ITask task) { - super(new NullSdkLog()); + super(NullLogger.getLogger()); task.run(this); } } diff --git a/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/UpdaterLogicTest.java b/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/UpdaterLogicTest.java index a23b921..7918885 100755 --- a/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/UpdaterLogicTest.java +++ b/sdkmanager/libs/sdkuilib/tests/com/android/sdkuilib/internal/repository/UpdaterLogicTest.java @@ -16,11 +16,10 @@ package com.android.sdkuilib.internal.repository; -import com.android.sdklib.ISdkLog; import com.android.sdklib.SdkManager; import com.android.sdklib.internal.avd.AvdManager; -import com.android.sdklib.internal.repository.ITaskFactory; import com.android.sdklib.internal.repository.DownloadCache; +import com.android.sdklib.internal.repository.ITaskFactory; import com.android.sdklib.internal.repository.archives.Archive; import com.android.sdklib.internal.repository.packages.MockAddonPackage; import com.android.sdklib.internal.repository.packages.MockBrokenPackage; @@ -31,6 +30,7 @@ import com.android.sdklib.internal.repository.packages.Package; import com.android.sdklib.internal.repository.sources.SdkSource; import com.android.sdklib.internal.repository.sources.SdkSources; import com.android.sdkuilib.internal.repository.icons.ImageFactory; +import com.android.utils.ILogger; import org.eclipse.swt.widgets.Shell; @@ -56,7 +56,7 @@ public class UpdaterLogicTest extends TestCase { } @Override - public ISdkLog getSdkLog() { + public ILogger getSdkLog() { return null; } |