aboutsummaryrefslogtreecommitdiffstats
path: root/lint
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-10-19 14:31:16 -0700
committerTor Norbye <tnorbye@google.com>2012-10-19 14:31:46 -0700
commit2e851a6fcfda90bdf3b9e3059ff52b97a2be3522 (patch)
treeb2a11aebf0070b4c3f0a67ebf28ba27a90f26d58 /lint
parent7a359895f07d5e6e508bb8b8502f5fd52d69e979 (diff)
downloadsdk-2e851a6fcfda90bdf3b9e3059ff52b97a2be3522.zip
sdk-2e851a6fcfda90bdf3b9e3059ff52b97a2be3522.tar.gz
sdk-2e851a6fcfda90bdf3b9e3059ff52b97a2be3522.tar.bz2
38700: wrong reporting of <requestFocus /> as missing size
Change-Id: I93154fbe3c0d86b6767ef2283ecbc5038163c604
Diffstat (limited to 'lint')
-rw-r--r--lint/libs/lint_checks/src/com/android/tools/lint/checks/RequiredAttributeDetector.java14
-rw-r--r--lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/RequiredAttributeDetectorTest.java9
2 files changed, 15 insertions, 8 deletions
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/RequiredAttributeDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/RequiredAttributeDetector.java
index a71f4b4..8cb2c42 100644
--- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/RequiredAttributeDetector.java
+++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/RequiredAttributeDetector.java
@@ -30,6 +30,7 @@ import static com.android.SdkConstants.FN_RESOURCE_BASE;
import static com.android.SdkConstants.FQCN_GRID_LAYOUT_V7;
import static com.android.SdkConstants.GRID_LAYOUT;
import static com.android.SdkConstants.LAYOUT_RESOURCE_PREFIX;
+import static com.android.SdkConstants.REQUEST_FOCUS;
import static com.android.SdkConstants.STYLE_RESOURCE_PREFIX;
import static com.android.SdkConstants.TABLE_LAYOUT;
import static com.android.SdkConstants.TABLE_ROW;
@@ -311,12 +312,13 @@ public class RequiredAttributeDetector extends LayoutDetector implements Detecto
return;
}
- if (VIEW_MERGE.equals(element.getNodeName())) {
+ String tag = element.getTagName();
+ if (VIEW_MERGE.equals(tag)
+ || VIEW_INCLUDE.equals(tag)
+ || REQUEST_FOCUS.equals(tag)) {
return;
}
- boolean certain = true;
-
String parentTag = element.getParentNode() != null
? element.getParentNode().getNodeName() : "";
if (TABLE_LAYOUT.equals(parentTag)
@@ -326,11 +328,7 @@ public class RequiredAttributeDetector extends LayoutDetector implements Detecto
return;
}
- String tag = element.getTagName();
- if (tag.equals(VIEW_INCLUDE)) {
- return;
- }
-
+ boolean certain = true;
boolean isRoot = isRootElement(element);
if (isRoot || isRootElement(element.getParentNode())
&& VIEW_MERGE.equals(parentTag)) {
diff --git a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/RequiredAttributeDetectorTest.java b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/RequiredAttributeDetectorTest.java
index abf3e04..3bae4d7 100644
--- a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/RequiredAttributeDetectorTest.java
+++ b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/RequiredAttributeDetectorTest.java
@@ -82,4 +82,13 @@ public class RequiredAttributeDetectorTest extends AbstractCheckTest {
));
}
+ public void testRequestFocus() throws Exception {
+ // See http://code.google.com/p/android/issues/detail?id=38700
+ assertEquals(
+ "No warnings.",
+
+ lintProject(
+ "res/layout/edit_type.xml"
+ ));
+ }
}