Merge "Send accessibility event when bouncer is shown" into lmp-mr1-dev

This commit is contained in:
Jorim Jaggi
2015-02-02 19:19:23 +00:00
committed by Android (Google) Code Review
4 changed files with 24 additions and 1 deletions

View File

@@ -26,7 +26,9 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false">
android:clipToPadding="false"
android:importantForAccessibility="yes"> <!-- Needed because TYPE_WINDOW_STATE_CHANGED is sent
from this view when bouncer is shown -->
<com.android.keyguard.KeyguardSecurityContainer
android:id="@+id/keyguard_security_container"

View File

@@ -121,6 +121,14 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
}
}
public CharSequence getCurrentSecurityModeContentDescription() {
View v = (View) getSecurityView(mCurrentSecuritySelection);
if (v != null) {
return v.getContentDescription();
}
return "";
}
private KeyguardSecurityView getSecurityView(SecurityMode securityMode) {
final int securityViewIdForMode = getSecurityViewIdForMode(securityMode);
KeyguardSecurityView view = null;

View File

@@ -38,6 +38,7 @@ import android.util.Slog;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.widget.FrameLayout;
import com.android.internal.widget.LockPatternUtils;
@@ -151,6 +152,16 @@ public abstract class KeyguardViewBase extends FrameLayout implements SecurityCa
mSecurityContainer.announceCurrentSecurityMethod();
}
@Override
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
event.getText().add(mSecurityContainer.getCurrentSecurityModeContentDescription());
return true;
} else {
return super.dispatchPopulateAccessibilityEvent(event);
}
}
protected KeyguardSecurityContainer getSecurityContainer() {
return mSecurityContainer;
}

View File

@@ -22,6 +22,7 @@ import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardViewBase;
@@ -86,6 +87,7 @@ public class KeyguardBouncer {
mKeyguardView.onResume();
mKeyguardView.startAppearAnimation();
mShowingSoon = false;
mKeyguardView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
}
};