From d4ebfe5f442aa3bdb5e0601a9be3a6e9aa9cd48b Mon Sep 17 00:00:00 2001 From: "auto-submit[bot]" Date: Tue, 2 Apr 2024 19:31:37 +0000 Subject: [PATCH] Revert "Replace `WindowInsetsController...` with `adb shell` commands (#51843)" This reverts commit 061717894dd8731fe8a5e53561e8f396806f3b4c. --- .../dev/flutter/scenarios/TestActivity.java | 14 ++++++++++ .../scenario_app/bin/run_android_tests.dart | 28 ++++++++----------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/testing/scenario_app/android/app/src/main/java/dev/flutter/scenarios/TestActivity.java b/testing/scenario_app/android/app/src/main/java/dev/flutter/scenarios/TestActivity.java index 5249577869813..c3b8b31e1e17e 100644 --- a/testing/scenario_app/android/app/src/main/java/dev/flutter/scenarios/TestActivity.java +++ b/testing/scenario_app/android/app/src/main/java/dev/flutter/scenarios/TestActivity.java @@ -9,8 +9,12 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import android.view.Window; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.view.WindowCompat; +import androidx.core.view.WindowInsetsCompat; +import androidx.core.view.WindowInsetsControllerCompat; import io.flutter.FlutterInjector; import io.flutter.embedding.engine.FlutterShellArgs; import io.flutter.embedding.engine.loader.FlutterLoader; @@ -25,6 +29,7 @@ public abstract class TestActivity extends TestableFlutterActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + hideSystemBars(getWindow()); testFlutterLoaderCallbackWhenInitializedTwice(); } @@ -104,4 +109,13 @@ protected void testFlutterLoaderCallbackWhenInitializedTwice() { } }); } + + private static void hideSystemBars(Window window) { + final WindowInsetsControllerCompat insetController = + WindowCompat.getInsetsController(window, window.getDecorView()); + assert insetController != null; + insetController.setSystemBarsBehavior( + WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE); + insetController.hide(WindowInsetsCompat.Type.systemBars()); + } } diff --git a/testing/scenario_app/bin/run_android_tests.dart b/testing/scenario_app/bin/run_android_tests.dart index 5629eb7fd6ca4..a4782f31cf9b1 100644 --- a/testing/scenario_app/bin/run_android_tests.dart +++ b/testing/scenario_app/bin/run_android_tests.dart @@ -298,23 +298,17 @@ Future _run({ }); await step('Configuring emulator...', () async { - final List> adbShellCommands = > [ - // Try to close all OS popups in the emulator, like "System UI stopped working". - ['am', 'broadcast', '-a', 'android.intent.action.CLOSE_SYSTEM_DIALOGS'], - - // Don't show "this is how you exit fullscreen mode". - ['settings', 'put', 'secure', 'immersive_mode_confirmations', 'confirmed'], - - // Hide all system bars. - ['settings', 'put', 'global', 'policy_control', 'immersive.full=*'], - ]; - - // Run all the commands. - for (final List command in adbShellCommands) { - final int exitCode = await pm.runAndForward([adb.path, 'shell', ...command]); - if (exitCode != 0) { - panic(['could not run command: ${command.join(' ')}']); - } + final int exitCode = await pm.runAndForward([ + adb.path, + 'shell', + 'settings', + 'put', + 'secure', + 'immersive_mode_confirmations', + 'confirmed', + ]); + if (exitCode != 0) { + panic(['could not configure emulator']); } });