Announce when bouncer becomes visible
Before we were only announcing when inflation ends, but we won't
inflate it every time it becomes visible.
Test: manual
Test: atest KeyguardBouncerTest
Fixes: 145172036
Change-Id: Iafbce10738a0906b251721a4ce4483e503ad6d91
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
index 3074e33..ceefff1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
@@ -203,6 +203,7 @@
Log.wtf(TAG, "onFullyShown when view was null");
} else {
mKeyguardView.onResume();
+ mRoot.announceForAccessibility(mKeyguardView.getAccessibilityTitleForCurrentMode());
}
}
@@ -438,7 +439,6 @@
mStatusBarHeight = mRoot.getResources().getDimensionPixelOffset(
com.android.systemui.R.dimen.status_bar_height);
mRoot.setVisibility(View.INVISIBLE);
- mRoot.setAccessibilityPaneTitle(mKeyguardView.getAccessibilityTitleForCurrentMode());
final WindowInsets rootInsets = mRoot.getRootWindowInsets();
if (rootInsets != null) {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardBouncerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardBouncerTest.java
index 35971bd..e052ae2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardBouncerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardBouncerTest.java
@@ -26,6 +26,7 @@
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.verifyZeroInteractions;
@@ -56,11 +57,13 @@
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
@SmallTest
@RunWith(AndroidTestingRunner.class)
@@ -91,13 +94,14 @@
private Handler mHandler;
@Mock
private KeyguardSecurityModel mKeyguardSecurityModel;
-
+ @Rule
+ public MockitoRule mRule = MockitoJUnit.rule();
+ private ViewGroup mRootView;
private KeyguardBouncer mBouncer;
@Before
public void setup() {
allowTestableLooperAsMainThread();
- MockitoAnnotations.initMocks(this);
mDependency.injectTestDependency(KeyguardUpdateMonitor.class, mKeyguardUpdateMonitor);
mDependency.injectTestDependency(KeyguardSecurityModel.class, mKeyguardSecurityModel);
mDependency.injectMockDependency(KeyguardStateController.class);
@@ -115,6 +119,8 @@
protected void inflateView() {
super.inflateView();
mKeyguardView = mKeyguardHostView;
+ mRoot = spy(mRoot);
+ mRootView = mRoot;
}
};
}
@@ -217,6 +223,7 @@
mBouncer.setExpansion(0);
verify(mKeyguardHostView).onResume();
+ verify(mRootView).announceForAccessibility(any());
}
@Test