summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2012-11-02 11:49:22 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2012-11-02 15:32:25 -0700
commitfc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa (patch)
tree108185524c6bae82a0a90aec77b7ecf8a2a2943e
parentfebea58c9215c38fde2c89732b88c832ab69c143 (diff)
downloadframeworks_base-fc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa.zip
frameworks_base-fc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa.tar.gz
frameworks_base-fc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa.tar.bz2
Polish user selector accessibility.
1. The current user was not announced as such. 2. The event for a user switch was not sent. Change-Id: Ib3caf1f9e93ea1f0b5450246601bc37f416be6da
-rw-r--r--core/java/android/view/accessibility/AccessibilityRecord.java11
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java5
-rw-r--r--services/java/com/android/server/accessibility/AccessibilityManagerService.java1
3 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/view/accessibility/AccessibilityRecord.java b/core/java/android/view/accessibility/AccessibilityRecord.java
index 5c60a12..7147c57 100644
--- a/core/java/android/view/accessibility/AccessibilityRecord.java
+++ b/core/java/android/view/accessibility/AccessibilityRecord.java
@@ -168,6 +168,17 @@ public class AccessibilityRecord {
}
/**
+ * Sets the window id.
+ *
+ * @param windowId The window id.
+ *
+ * @hide
+ */
+ public void setWindowId(int windowId) {
+ mSourceWindowId = windowId;
+ }
+
+ /**
* Gets the id of the window from which the event comes from.
*
* @return The window id.
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java
index a21ebe3..7bf2bf9 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java
@@ -150,6 +150,11 @@ class KeyguardMultiUserAvatar extends FrameLayout {
if (active) {
KeyguardLinearLayout parent = (KeyguardLinearLayout) getParent();
parent.setTopChild(this);
+ // TODO: Create an appropriate asset when string changes are possible.
+ setContentDescription(mUserName.getText()
+ + ". " + mContext.getString(R.string.user_switched, ""));
+ } else {
+ setContentDescription(mUserName.getText());
}
}
updateVisualsForActive(mActive, animate, SWITCH_ANIMATION_DURATION, onComplete);
diff --git a/services/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/java/com/android/server/accessibility/AccessibilityManagerService.java
index 6b277c7..aee96f9 100644
--- a/services/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -1330,6 +1330,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
AccessibilityEvent event = AccessibilityEvent.obtain(
AccessibilityEvent.TYPE_ANNOUNCEMENT);
event.getText().add(message);
+ event.setWindowId(mSecurityPolicy.getRetrievalAllowingWindowLocked());
sendAccessibilityEvent(event, mCurrentUserId);
}
}