am 515148dc: Merge "Send accessibility event when bouncer is shown" into lmp-mr1-dev
* commit '515148dcaaf5b63e69998d67958829d4347071ec': Send accessibility event when bouncer is shown
This commit is contained in:
@@ -26,7 +26,9 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:clipChildren="false"
|
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
|
<com.android.keyguard.KeyguardSecurityContainer
|
||||||
android:id="@+id/keyguard_security_container"
|
android:id="@+id/keyguard_security_container"
|
||||||
|
|||||||
@@ -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) {
|
private KeyguardSecurityView getSecurityView(SecurityMode securityMode) {
|
||||||
final int securityViewIdForMode = getSecurityViewIdForMode(securityMode);
|
final int securityViewIdForMode = getSecurityViewIdForMode(securityMode);
|
||||||
KeyguardSecurityView view = null;
|
KeyguardSecurityView view = null;
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import android.util.Slog;
|
|||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
@@ -151,6 +152,16 @@ public abstract class KeyguardViewBase extends FrameLayout implements SecurityCa
|
|||||||
mSecurityContainer.announceCurrentSecurityMethod();
|
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() {
|
protected KeyguardSecurityContainer getSecurityContainer() {
|
||||||
return mSecurityContainer;
|
return mSecurityContainer;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import android.view.KeyEvent;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
|
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.keyguard.KeyguardViewBase;
|
import com.android.keyguard.KeyguardViewBase;
|
||||||
@@ -86,6 +87,7 @@ public class KeyguardBouncer {
|
|||||||
mKeyguardView.onResume();
|
mKeyguardView.onResume();
|
||||||
mKeyguardView.startAppearAnimation();
|
mKeyguardView.startAppearAnimation();
|
||||||
mShowingSoon = false;
|
mShowingSoon = false;
|
||||||
|
mKeyguardView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user