Disable a11y on detach (#14142)

This commit is contained in:
Dan Field
2019-12-05 11:16:38 -08:00
committed by GitHub
parent 90c42f4ca6
commit 73da385c11
2 changed files with 14 additions and 0 deletions
@@ -701,6 +701,7 @@ public class FlutterView extends FrameLayout {
isFlutterUiDisplayed = false;
flutterRenderer.removeIsDisplayingFlutterUiListener(flutterUiDisplayListener);
flutterRenderer.stopRenderingToSurface();
flutterRenderer.setSemanticsEnabled(false);
renderSurface.detachFromRenderer();
flutterEngine = null;
}
@@ -78,6 +78,19 @@ public class FlutterViewTest {
verify(platformViewsController, times(1)).detachFromView();
}
@Test
public void detachFromFlutterEngine_turnsOffA11y() {
FlutterView flutterView = new FlutterView(RuntimeEnvironment.application);
FlutterEngine flutterEngine = spy(new FlutterEngine(RuntimeEnvironment.application, mockFlutterLoader, mockFlutterJni));
FlutterRenderer flutterRenderer = spy(new FlutterRenderer(mockFlutterJni));
when(flutterEngine.getRenderer()).thenReturn(flutterRenderer);
flutterView.attachToFlutterEngine(flutterEngine);
flutterView.detachFromFlutterEngine();
verify(flutterRenderer, times(1)).setSemanticsEnabled(false);
}
@Test
public void onConfigurationChanged_fizzlesWhenNullEngine() {
FlutterView flutterView = new FlutterView(RuntimeEnvironment.application);