aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--anttasks/src/com/android/ant/TaskHelper.java5
-rw-r--r--lint/libs/lint_checks/src/com/android/tools/lint/checks/ButtonDetector.java6
-rw-r--r--lint/libs/lint_checks/src/com/android/tools/lint/checks/ManifestOrderDetector.java4
-rw-r--r--lint/libs/lint_checks/src/com/android/tools/lint/checks/StyleCycleDetector.java2
-rw-r--r--lint/libs/lint_checks/src/com/android/tools/lint/checks/TranslationDetector.java2
-rw-r--r--lint/libs/lint_checks/src/com/android/tools/lint/checks/WrongLocationDetector.java2
-rw-r--r--lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ManifestOrderDetectorTest.java10
-rw-r--r--lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/duplicate-manifest-ignore.xml23
8 files changed, 46 insertions, 8 deletions
diff --git a/anttasks/src/com/android/ant/TaskHelper.java b/anttasks/src/com/android/ant/TaskHelper.java
index 24aeb8b..fe154cf 100644
--- a/anttasks/src/com/android/ant/TaskHelper.java
+++ b/anttasks/src/com/android/ant/TaskHelper.java
@@ -93,6 +93,11 @@ final class TaskHelper {
String value = p.getProperty("Pkg.Revision"); //$NON-NLS-1$
if (value != null) {
+ value = value.trim();
+ int space = value.indexOf(' ');
+ if (space != -1) {
+ value = value.substring(0, space);
+ }
return new DeweyDecimal(value);
}
} catch (FileNotFoundException e) {
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ButtonDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ButtonDetector.java
index 79cea2e..46fb4bf 100644
--- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ButtonDetector.java
+++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ButtonDetector.java
@@ -249,7 +249,7 @@ public class ButtonDetector extends ResourceXmlDetector {
&& isEnglishResource(context)
&& context.isEnabled(CASE)) {
assert label.equalsIgnoreCase(CANCEL_LABEL);
- context.report(CASE, context.getLocation(child),
+ context.report(CASE, child, context.getLocation(child),
String.format(
"The standard Android way to capitalize %1$s " +
"is \"Cancel\" (tip: use @android:string/ok instead)",
@@ -266,7 +266,7 @@ public class ButtonDetector extends ResourceXmlDetector {
&& isEnglishResource(context)
&& context.isEnabled(CASE)) {
assert text.equalsIgnoreCase(OK_LABEL);
- context.report(CASE, context.getLocation(child),
+ context.report(CASE, child, context.getLocation(child),
String.format(
"The standard Android way to capitalize %1$s " +
"is \"OK\" (tip: use @android:string/ok instead)",
@@ -305,7 +305,7 @@ public class ButtonDetector extends ResourceXmlDetector {
assert BACK_LABEL.equalsIgnoreCase(label);
Location location = context.getLocation(element);
if (context.isEnabled(BACKBUTTON)) {
- context.report(BACKBUTTON, location,
+ context.report(BACKBUTTON, element, location,
"Back buttons are not standard on Android; see design guide's " +
"navigation section", null);
}
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ManifestOrderDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ManifestOrderDetector.java
index 44553fa..3d71a85 100644
--- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ManifestOrderDetector.java
+++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ManifestOrderDetector.java
@@ -261,8 +261,8 @@ public class ManifestOrderDetector extends Detector implements Detector.XmlScann
if (mActivities.contains(name)) {
String message = String.format(
"Duplicate registration for activity %1$s", name);
- context.report(DUPLICATE_ACTIVITY, context.getLocation(nameNode),
- message, null);
+ context.report(DUPLICATE_ACTIVITY, element,
+ context.getLocation(nameNode), message, null);
} else {
mActivities.add(name);
}
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/StyleCycleDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/StyleCycleDetector.java
index 03766b7..82001d0 100644
--- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/StyleCycleDetector.java
+++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/StyleCycleDetector.java
@@ -86,7 +86,7 @@ public class StyleCycleDetector extends ResourceXmlDetector {
} else if (parent.startsWith(STYLE_RESOURCE_PREFIX)
&& parent.startsWith(name, STYLE_RESOURCE_PREFIX.length())
&& parent.startsWith(".", STYLE_RESOURCE_PREFIX.length() + name.length())) {
- context.report(ISSUE, context.getLocation(parentNode),
+ context.report(ISSUE, parentNode, context.getLocation(parentNode),
String.format("Potential cycle: %1$s is the implied parent of %2$s and " +
"this defines the opposite", name,
parent.substring(STYLE_RESOURCE_PREFIX.length())), null);
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/TranslationDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/TranslationDetector.java
index a501e05..02fe6ae 100644
--- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/TranslationDetector.java
+++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/TranslationDetector.java
@@ -470,7 +470,7 @@ public class TranslationDetector extends ResourceXmlDetector {
if (translatable != null && !Boolean.valueOf(translatable.getValue())) {
String l = LintUtils.getLocaleAndRegion(context.file.getParentFile().getName());
if (l != null) {
- context.report(EXTRA, context.getLocation(translatable),
+ context.report(EXTRA, translatable, context.getLocation(translatable),
"Non-translatable resources should only be defined in the base " +
"values/ folder", null);
} else {
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/WrongLocationDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/WrongLocationDetector.java
index 8a19e20..39ffe1f 100644
--- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/WrongLocationDetector.java
+++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/WrongLocationDetector.java
@@ -61,7 +61,7 @@ public class WrongLocationDetector extends LayoutDetector {
public void visitDocument(@NonNull XmlContext context, @NonNull Document document) {
Element root = document.getDocumentElement();
if (root != null && root.getTagName().equals(TAG_RESOURCES)) {
- context.report(ISSUE, context.getLocation(root),
+ context.report(ISSUE, root, context.getLocation(root),
"This file should be placed in a values/ folder, not a layout/ folder", null);
}
}
diff --git a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ManifestOrderDetectorTest.java b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ManifestOrderDetectorTest.java
index 1b8c8f4..7513138 100644
--- a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ManifestOrderDetectorTest.java
+++ b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ManifestOrderDetectorTest.java
@@ -189,4 +189,14 @@ public class ManifestOrderDetectorTest extends AbstractCheckTest {
"duplicate-manifest.xml=>AndroidManifest.xml",
"res/values/strings.xml"));
}
+
+ public void testIgnoreDuplicateActivity() throws Exception {
+ mEnabled = Collections.singleton(ManifestOrderDetector.DUPLICATE_ACTIVITY);
+ assertEquals(
+ "No warnings.",
+
+ lintProject(
+ "duplicate-manifest-ignore.xml=>AndroidManifest.xml",
+ "res/values/strings.xml"));
+ }
}
diff --git a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/duplicate-manifest-ignore.xml b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/duplicate-manifest-ignore.xml
new file mode 100644
index 0000000..76cfd4d
--- /dev/null
+++ b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/duplicate-manifest-ignore.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.example.helloworld"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <uses-sdk android:minSdkVersion="14" />
+ <application android:icon="@drawable/icon" android:label="@string/app_name" tools:ignore="DuplicateActivity">
+ <activity android:name=".HelloWorld"
+ android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+
+ <activity android:name="com.example.helloworld.HelloWorld"
+ android:label="@string/app_name">
+ </activity>
+
+ </application>
+
+</manifest>