aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java5
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetData.java7
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/LayoutLog.java120
5 files changed, 122 insertions, 20 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
index ee4f59a..e1c6584 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
@@ -321,7 +321,7 @@ public final class ProjectCallback implements ILegacyCallback {
mLogger.warning("wrongconstructor", //$NON-NLS-1$
String.format("Custom view %1$s is not using the 2- or 3-argument "
+ "View constructors; XML attributes will not work",
- clazz.getSimpleName()));
+ clazz.getSimpleName()), null /*data*/);
}
break;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
index e432a5a..9090baf 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
@@ -1483,9 +1483,10 @@ public class GraphicalEditorPart extends EditorPart
// An error was generated. Print it (and any other accumulated warnings)
String errorMessage = session.getResult().getErrorMessage();
if (errorMessage != null && errorMessage.length() > 0) {
- logger.error(null, session.getResult().getErrorMessage());
+ logger.error(null, session.getResult().getErrorMessage(), null /*data*/);
} else if (!logger.hasProblems()) {
- logger.error(null, "Unexpected error in rendering, no details given");
+ logger.error(null, "Unexpected error in rendering, no details given",
+ null /*data*/);
}
displayLoggerProblems(iProject, logger);
} else {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java
index 040796e..e44c81b 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderLogger.java
@@ -89,7 +89,7 @@ class RenderLogger extends LayoutLog {
// ---- extends LayoutLog ----
@Override
- public void error(String tag, String message) {
+ public void error(String tag, String message, Object data) {
String description = describe(message);
AdtPlugin.log(IStatus.ERROR, "%1$s: %2$s", mName, description);
@@ -97,7 +97,7 @@ class RenderLogger extends LayoutLog {
}
@Override
- public void error(String tag, String message, Throwable throwable) {
+ public void error(String tag, String message, Throwable throwable, Object data) {
String description = describe(message);
AdtPlugin.log(throwable, "%1$s: %2$s", mName, description);
if (throwable != null) {
@@ -108,14 +108,14 @@ class RenderLogger extends LayoutLog {
}
@Override
- public void warning(String tag, String message) {
+ public void warning(String tag, String message, Object data) {
String description = describe(message);
AdtPlugin.log(IStatus.WARNING, "%1$s: %2$s", mName, description);
addWarning(tag, description);
}
@Override
- public void fidelityWarning(String tag, String message, Throwable throwable) {
+ public void fidelityWarning(String tag, String message, Throwable throwable, Object data) {
String description = describe(message);
AdtPlugin.log(throwable, "%1$s: %2$s", mName, description);
if (throwable != null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetData.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetData.java
index 216502c..6c5db6c 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetData.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/AndroidTargetData.java
@@ -258,17 +258,18 @@ public class AndroidTargetData {
new LayoutLog() {
@Override
- public void error(String tag, String message, Throwable throwable) {
+ public void error(String tag, String message, Throwable throwable,
+ Object data) {
AdtPlugin.log(throwable, message);
}
@Override
- public void error(String tag, String message) {
+ public void error(String tag, String message, Object data) {
AdtPlugin.log(IStatus.ERROR, message);
}
@Override
- public void warning(String tag, String message) {
+ public void warning(String tag, String message, Object data) {
AdtPlugin.log(IStatus.WARNING, message);
}
});
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/LayoutLog.java b/layoutlib_api/src/com/android/ide/common/rendering/api/LayoutLog.java
index 3a0ab06..26d0479 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/LayoutLog.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/LayoutLog.java
@@ -16,42 +16,142 @@
package com.android.ide.common.rendering.api;
+/**
+ * Log class for actions executed through {@link Bridge} and {@link RenderSession}.
+ */
public class LayoutLog {
+ /**
+ * Prefix for resource warnings/errors. This is not meant to be used as-is by the Layout
+ * Library, but is there to help test against a wider type of warning/error.
+ * <p/>
+ * {@code tag.startsWith(LayoutLog.TAG_RESOURCE_PREFIX} will test if the tag is any type
+ * of resource warning/error
+ */
public final static String TAG_RESOURCES_PREFIX = "resources.";
+
+ /**
+ * Prefix for matrix warnings/errors. This is not meant to be used as-is by the Layout
+ * Library, but is there to help test against a wider type of warning/error.
+ * <p/>
+ * {@code tag.startsWith(LayoutLog.TAG_MATRIX_PREFIX} will test if the tag is any type
+ * of matrix warning/error
+ */
public final static String TAG_MATRIX_PREFIX = "matrix.";
+ /**
+ * Tag for unsupported feature that can have a big impact on the rendering. For instance, aild
+ * access.
+ */
public final static String TAG_UNSUPPORTED = "unsupported";
+
+ /**
+ * Tag for error when something really unexpected happens.
+ */
public final static String TAG_BROKEN = "broken";
+
+ /**
+ * Tag for resource resolution failure.
+ * In this case the warning/error data object will be a ResourceValue containing the type
+ * and name of the resource that failed to resolve
+ */
public final static String TAG_RESOURCES_RESOLVE = TAG_RESOURCES_PREFIX + "resolve";
+
+ /**
+ * Tag for failure when reading the content of a resource file.
+ */
public final static String TAG_RESOURCES_READ = TAG_RESOURCES_PREFIX + "read";
+
+ /**
+ * Tag for wrong format in a resource value.
+ */
public final static String TAG_RESOURCES_FORMAT = TAG_RESOURCES_PREFIX + "format";
+
+ /**
+ * Fidelity Tag used when a non affine transformation matrix is used in a Java API.
+ */
public final static String TAG_MATRIX_AFFINE = TAG_MATRIX_PREFIX + "affine";
+
+ /**
+ * Tag used when a matrix cannot be inverted.
+ */
public final static String TAG_MATRIX_INVERSE = TAG_MATRIX_PREFIX + "inverse";
+
+ /**
+ * Fidelity Tag used when a mask filter type is used but is not supported.
+ */
public final static String TAG_MASKFILTER = "maskfilter";
+
+ /**
+ * Fidelity Tag used when a draw filter type is used but is not supported.
+ */
public final static String TAG_DRAWFILTER = "drawfilter";
+
+ /**
+ * Fidelity Tag used when a path effect type is used but is not supported.
+ */
public final static String TAG_PATHEFFECT = "patheffect";
+
+ /**
+ * Fidelity Tag used when a color filter type is used but is not supported.
+ */
public final static String TAG_COLORFILTER = "colorfilter";
+
+ /**
+ * Fidelity Tag used when a rasterize type is used but is not supported.
+ */
public final static String TAG_RASTERIZER = "rasterizer";
+
+ /**
+ * Fidelity Tag used when a shader type is used but is not supported.
+ */
public final static String TAG_SHADER = "shader";
- public final static String TAG_XFERMODE = "xfermode";
+ /**
+ * Fidelity Tag used when a xfermode type is used but is not supported.
+ */
+ public final static String TAG_XFERMODE = "xfermode";
- public void warning(String tag, String message) {
+ /**
+ * Logs a warning.
+ * @param tag a tag describing the type of the warning
+ * @param message the message of the warning
+ * @param data an optional data bundle that the client can use to improve the warning display.
+ */
+ public void warning(String tag, String message, Object data) {
}
- public void fidelityWarning(String tag, String message, Throwable throwable) {
+ /**
+ * Logs a fidelity warning.
+ *
+ * This type of warning indicates that the render will not be
+ * the same as the rendering on a device due to limitation of the Java rendering API.
+ *
+ * @param tag a tag describing the type of the warning
+ * @param message the message of the warning
+ * @param throwable an optional Throwable that triggered the warning
+ * @param data an optional data bundle that the client can use to improve the warning display.
+ */
+ public void fidelityWarning(String tag, String message, Throwable throwable, Object data) {
}
- public void error(String tag, String message) {
+ /**
+ * Logs an error.
+ *
+ * @param tag a tag describing the type of the error
+ * @param message the message of the error
+ * @param data an optional data bundle that the client can use to improve the error display.
+ */
+ public void error(String tag, String message, Object data) {
}
/**
- * Logs an error message and a {@link Throwable}.
- * @param message the message to log.
- * @param throwable the {@link Throwable} to log.
+ * Logs an error, and the {@link Throwable} that triggered it.
+ *
+ * @param tag a tag describing the type of the error
+ * @param message the message of the error
+ * @param throwable the Throwable that triggered the error
+ * @param data an optional data bundle that the client can use to improve the error display.
*/
- public void error(String tag, String message, Throwable throwable) {
-
+ public void error(String tag, String message, Throwable throwable, Object data) {
}
-
}