Disable the immersize mode cling
This avoids the overlay that says how to exit
fullscreen mode. This breaks tests using a
screenshot capture instead of PixelCopy, so
basically just SurfaceViewTests#testMovingWhiteSurfaceView
is impacted.
The scopped setting override is already done for
SurfaceViewSyncTests in CtsViewTestCases.
Fixes: 153605919
Test: atest SurfaceViewTests#testMovingWhiteSurfaceView
Change-Id: I988436ae9b7efea3789db52a17be5e6159782aee
diff --git a/tests/tests/uirendering/Android.bp b/tests/tests/uirendering/Android.bp
index 99f04cf..ee9fa2b 100644
--- a/tests/tests/uirendering/Android.bp
+++ b/tests/tests/uirendering/Android.bp
@@ -24,6 +24,7 @@
static_libs: [
"compatibility-device-util-axt",
"ctsdeviceutillegacy-axt",
+ "cts-wm-util",
"mockito-target-minus-junit4",
"androidx.test.rules",
"kotlin-test",
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/runner/UiRenderingRunner.java b/tests/tests/uirendering/src/android/uirendering/cts/runner/UiRenderingRunner.java
index c161d49..072f501 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/runner/UiRenderingRunner.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/runner/UiRenderingRunner.java
@@ -18,6 +18,8 @@
import android.content.Intent;
import android.os.Bundle;
+import android.provider.Settings;
+import android.server.wm.settings.SettingsSession;
import android.support.test.uiautomator.UiDevice;
import android.uirendering.cts.util.BitmapDumper;
@@ -28,6 +30,16 @@
*/
public class UiRenderingRunner extends AndroidJUnitRunner {
+ private static class ImmersiveConfirmationSetting extends SettingsSession<String> {
+ ImmersiveConfirmationSetting() {
+ super(Settings.Secure.getUriFor(
+ Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS),
+ Settings.Secure::getString, Settings.Secure::putString);
+ }
+ }
+
+ private ImmersiveConfirmationSetting mSettingsSession;
+
@Override
protected void waitForActivitiesToComplete() {
// No.
@@ -37,6 +49,10 @@
public void onCreate(Bundle arguments) {
super.onCreate(arguments);
+ // Disable immersive clings
+ mSettingsSession = new ImmersiveConfirmationSetting();
+ mSettingsSession.set("confirmed");
+
final UiDevice device = UiDevice.getInstance(this);
try {
device.wakeUp();
@@ -53,6 +69,8 @@
// Ok now wait if necessary
super.waitForActivitiesToComplete();
+ mSettingsSession.close();
+
super.onDestroy();
}
}