diff options
author | Tor Norbye <tnorbye@google.com> | 2012-10-22 10:43:39 -0700 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2012-10-22 10:43:40 -0700 |
commit | fa5bbbc7297130d9cd4af45fa602a620d4da8f00 (patch) | |
tree | f8218c9f5a32b17fa5e04517df9dd58e0788c7c6 /lint | |
parent | cb68dfb207f4e0f8eaef92a972e24ac3d338617c (diff) | |
parent | dca3d8735541f868c3b20fc317b9ab6150c0e369 (diff) | |
download | sdk-fa5bbbc7297130d9cd4af45fa602a620d4da8f00.zip sdk-fa5bbbc7297130d9cd4af45fa602a620d4da8f00.tar.gz sdk-fa5bbbc7297130d9cd4af45fa602a620d4da8f00.tar.bz2 |
Merge "38748: lint doesn't recognise inputtype in style"
Diffstat (limited to 'lint')
-rw-r--r-- | lint/libs/lint_checks/src/com/android/tools/lint/checks/TextFieldDetector.java | 11 | ||||
-rw-r--r-- | lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/edit_type.xml | 7 |
2 files changed, 18 insertions, 0 deletions
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/TextFieldDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/TextFieldDetector.java index 376018b..9eb4474 100644 --- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/TextFieldDetector.java +++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/TextFieldDetector.java @@ -23,6 +23,7 @@ import static com.android.SdkConstants.ATTR_INPUT_METHOD; import static com.android.SdkConstants.ATTR_INPUT_TYPE; import static com.android.SdkConstants.ATTR_PASSWORD; import static com.android.SdkConstants.ATTR_PHONE_NUMBER; +import static com.android.SdkConstants.ATTR_STYLE; import static com.android.SdkConstants.EDIT_TEXT; import static com.android.SdkConstants.ID_PREFIX; import static com.android.SdkConstants.NEW_ID_PREFIX; @@ -89,6 +90,16 @@ public class TextFieldDetector extends LayoutDetector { @Override public void visitElement(@NonNull XmlContext context, @NonNull Element element) { + String style = element.getAttribute(ATTR_STYLE); + if (style != null && !style.isEmpty()) { + // The input type might be specified via a style. This will require + // us to track these (similar to what is done for the + // RequiredAttributeDetector to track layout_width and layout_height + // in style declarations). For now, simply ignore these elements + // to avoid producing false positives. + return; + } + Attr inputTypeNode = element.getAttributeNodeNS(ANDROID_URI, ATTR_INPUT_TYPE); if (inputTypeNode == null && !element.hasAttributeNS(ANDROID_URI, ATTR_HINT)) { diff --git a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/edit_type.xml b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/edit_type.xml index 63452e3..8f8cf90 100644 --- a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/edit_type.xml +++ b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/edit_type.xml @@ -86,4 +86,11 @@ android:layout_height="wrap_content" android:ems="10" /> + <EditText + style="@style/foo" + android:id="@+id/number_of_items" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:ems="10" /> + </LinearLayout> |