Loading services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java +1 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,7 @@ class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnect return; } mWasConnectedAndDied = true; mSystemSupport.getKeyEventDispatcher().flush(this); UserState userState = mUserStateWeakReference.get(); if (userState != null) { userState.serviceDisconnectedLocked(this); Loading services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -141,4 +141,15 @@ public class AccessibilityServiceConnectionTest { when(mMockUserState.getBindingServicesLocked()) .thenReturn(new HashSet<>(Arrays.asList(componentName))); } @Test public void binderDied_keysGetFlushed() { IBinder mockBinder = mock(IBinder.class); setServiceBinding(COMPONENT_NAME); mConnection.bindLocked(); mConnection.onServiceConnected(COMPONENT_NAME, mockBinder); mConnection.binderDied(); assertTrue(mConnection.getServiceInfo().crashed); verify(mMockKeyEventDispatcher).flush(mConnection); } } Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java +1 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,7 @@ class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnect return; } mWasConnectedAndDied = true; mSystemSupport.getKeyEventDispatcher().flush(this); UserState userState = mUserStateWeakReference.get(); if (userState != null) { userState.serviceDisconnectedLocked(this); Loading
services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -141,4 +141,15 @@ public class AccessibilityServiceConnectionTest { when(mMockUserState.getBindingServicesLocked()) .thenReturn(new HashSet<>(Arrays.asList(componentName))); } @Test public void binderDied_keysGetFlushed() { IBinder mockBinder = mock(IBinder.class); setServiceBinding(COMPONENT_NAME); mConnection.bindLocked(); mConnection.onServiceConnected(COMPONENT_NAME, mockBinder); mConnection.binderDied(); assertTrue(mConnection.getServiceInfo().crashed); verify(mMockKeyEventDispatcher).flush(mConnection); } }