summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2014-07-07 15:06:14 -0700
committerAlan Viverette <alanv@google.com>2014-07-07 15:06:14 -0700
commitfccbff5f021a6f95fe1c18f55866545c767ef8eb (patch)
treee6b00a20bf8eae80b63ad98575d88e885f5c0549
parent5e458dd6b4b92c369865e59c81a02c8ce8c342f6 (diff)
downloadframeworks_base-fccbff5f021a6f95fe1c18f55866545c767ef8eb.zip
frameworks_base-fccbff5f021a6f95fe1c18f55866545c767ef8eb.tar.gz
frameworks_base-fccbff5f021a6f95fe1c18f55866545c767ef8eb.tar.bz2
Add API on AccessibilityNodeInfo for retrieving TextView error
BUG: 11155198 Change-Id: Ie01b92e1071ff584b360cfa3ece4320ad05e4aae
-rw-r--r--api/current.txt2
-rw-r--r--core/java/android/view/accessibility/AccessibilityNodeInfo.java32
-rw-r--r--core/java/android/widget/TextView.java1
3 files changed, 35 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index 88c66b6..6f565d7 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -34241,6 +34241,7 @@ package android.view.accessibility {
method public android.view.accessibility.AccessibilityNodeInfo.CollectionInfo getCollectionInfo();
method public android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo getCollectionItemInfo();
method public java.lang.CharSequence getContentDescription();
+ method public java.lang.CharSequence getError();
method public android.os.Bundle getExtras();
method public int getInputType();
method public android.view.accessibility.AccessibilityNodeInfo getLabelFor();
@@ -34299,6 +34300,7 @@ package android.view.accessibility {
method public void setDismissable(boolean);
method public void setEditable(boolean);
method public void setEnabled(boolean);
+ method public void setError(java.lang.CharSequence);
method public void setFocusable(boolean);
method public void setFocused(boolean);
method public void setInputType(int);
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
index 66cc3f6..1bf4639 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
@@ -555,6 +555,7 @@ public class AccessibilityNodeInfo implements Parcelable {
private CharSequence mPackageName;
private CharSequence mClassName;
private CharSequence mText;
+ private CharSequence mError;
private CharSequence mContentDescription;
private String mViewIdResourceName;
@@ -1923,6 +1924,32 @@ public class AccessibilityNodeInfo implements Parcelable {
}
/**
+ * Sets the error text of this node.
+ * <p>
+ * <strong>Note:</strong> Cannot be called from an
+ * {@link android.accessibilityservice.AccessibilityService}.
+ * This class is made immutable before being delivered to an AccessibilityService.
+ * </p>
+ *
+ * @param error The error text.
+ *
+ * @throws IllegalStateException If called from an AccessibilityService.
+ */
+ public void setError(CharSequence error) {
+ enforceNotSealed();
+ mError = error;
+ }
+
+ /**
+ * Gets the error text of this node.
+ *
+ * @return The error text.
+ */
+ public CharSequence getError() {
+ return mError;
+ }
+
+ /**
* Gets the content description of this node.
*
* @return The content description.
@@ -2449,6 +2476,7 @@ public class AccessibilityNodeInfo implements Parcelable {
parcel.writeCharSequence(mPackageName);
parcel.writeCharSequence(mClassName);
parcel.writeCharSequence(mText);
+ parcel.writeCharSequence(mError);
parcel.writeCharSequence(mContentDescription);
parcel.writeString(mViewIdResourceName);
@@ -2519,6 +2547,7 @@ public class AccessibilityNodeInfo implements Parcelable {
mPackageName = other.mPackageName;
mClassName = other.mClassName;
mText = other.mText;
+ mError = other.mError;
mContentDescription = other.mContentDescription;
mViewIdResourceName = other.mViewIdResourceName;
@@ -2614,6 +2643,7 @@ public class AccessibilityNodeInfo implements Parcelable {
mPackageName = parcel.readCharSequence();
mClassName = parcel.readCharSequence();
mText = parcel.readCharSequence();
+ mError = parcel.readCharSequence();
mContentDescription = parcel.readCharSequence();
mViewIdResourceName = parcel.readString();
@@ -2675,6 +2705,7 @@ public class AccessibilityNodeInfo implements Parcelable {
mPackageName = null;
mClassName = null;
mText = null;
+ mError = null;
mContentDescription = null;
mViewIdResourceName = null;
if (mActions != null) {
@@ -2879,6 +2910,7 @@ public class AccessibilityNodeInfo implements Parcelable {
builder.append("; packageName: ").append(mPackageName);
builder.append("; className: ").append(mClassName);
builder.append("; text: ").append(mText);
+ builder.append("; error: ").append(mError);
builder.append("; contentDescription: ").append(mContentDescription);
builder.append("; viewIdResName: ").append(mViewIdResourceName);
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 2381a78..dd58ba6 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -8240,6 +8240,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
if (mEditor.mError != null) {
info.setContentInvalid(true);
+ info.setError(mEditor.mError);
}
}