summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2023-03-24 23:30:30 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-03-24 23:30:30 +0000
commitd968bbcf83614f7dd80b8b2070d859862787fa4a (patch)
treee2efff137605551107454f7a5323c58fec60dece
parent271e6f716785cb1fce4b7bf3c28a6a5eb51ad92d (diff)
parent730cac35aac1e3fec59a37a529f79235ca07e199 (diff)
downloadcts-d968bbcf83614f7dd80b8b2070d859862787fa4a.tar.gz
Merge "Merge duplicated DisableFixedToUserRotationRule util class" into android12L-tests-dev
-rw-r--r--tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java87
-rw-r--r--tests/tests/view/src/android/view/cts/util/DisableFixedToUserRotationRule.java18
2 files changed, 15 insertions, 90 deletions
diff --git a/tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java b/tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java
deleted file mode 100644
index 36b63145964..00000000000
--- a/tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.view.cts.util;
-
-import android.app.UiAutomation;
-import android.content.pm.PackageManager;
-import android.os.ParcelFileDescriptor;
-import android.util.Log;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-public class DisableFixToUserRotationRule implements TestRule {
- private static final String TAG = "DisableFixToUserRotationRule";
- private static final String COMMAND = "cmd window set-fix-to-user-rotation ";
-
- private final UiAutomation mUiAutomation;
- private final boolean mSupportsRotation;
-
- public DisableFixToUserRotationRule() {
- mUiAutomation = InstrumentationRegistry.getInstrumentation().getUiAutomation();
- PackageManager pm = InstrumentationRegistry
- .getInstrumentation()
- .getContext()
- .getPackageManager();
- mSupportsRotation = pm.hasSystemFeature(PackageManager.FEATURE_SCREEN_LANDSCAPE)
- && pm.hasSystemFeature(PackageManager.FEATURE_SCREEN_PORTRAIT);
- }
-
- @Override
- public Statement apply(Statement base, Description description) {
- return new Statement() {
- @Override
- public void evaluate() throws Throwable {
- if (mSupportsRotation) {
- executeShellCommandAndPrint(COMMAND + "disabled");
- }
- try {
- base.evaluate();
- } finally {
- if (mSupportsRotation) {
- executeShellCommandAndPrint(COMMAND + "default");
- }
- }
- }
- };
- }
-
- private void executeShellCommandAndPrint(String cmd) {
- ParcelFileDescriptor pfd = mUiAutomation.executeShellCommand(cmd);
- StringBuilder builder = new StringBuilder();
- char[] buffer = new char[256];
- int charRead;
- try (Reader reader =
- new InputStreamReader(new ParcelFileDescriptor.AutoCloseInputStream(pfd))) {
- while ((charRead = reader.read(buffer)) > 0) {
- builder.append(buffer, 0, charRead);
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
-
- Log.i(TAG, "Command: " + cmd + " Output: " + builder);
- }
-
-}
diff --git a/tests/tests/view/src/android/view/cts/util/DisableFixedToUserRotationRule.java b/tests/tests/view/src/android/view/cts/util/DisableFixedToUserRotationRule.java
index 17a50ff4be4..711923e8454 100644
--- a/tests/tests/view/src/android/view/cts/util/DisableFixedToUserRotationRule.java
+++ b/tests/tests/view/src/android/view/cts/util/DisableFixedToUserRotationRule.java
@@ -17,6 +17,7 @@
package android.view.cts.util;
import android.app.UiAutomation;
+import android.content.pm.PackageManager;
import android.os.ParcelFileDescriptor;
import android.util.Log;
@@ -35,11 +36,18 @@ public class DisableFixedToUserRotationRule implements TestRule {
private static final String COMMAND = "cmd window fixed-to-user-rotation ";
private final UiAutomation mUiAutomation;
+ private final boolean mSupportsRotation;
private String mOriginalValue;
public DisableFixedToUserRotationRule() {
mUiAutomation = InstrumentationRegistry.getInstrumentation().getUiAutomation();
+ PackageManager pm = InstrumentationRegistry
+ .getInstrumentation()
+ .getContext()
+ .getPackageManager();
+ mSupportsRotation = pm.hasSystemFeature(PackageManager.FEATURE_SCREEN_LANDSCAPE)
+ && pm.hasSystemFeature(PackageManager.FEATURE_SCREEN_PORTRAIT);
}
@Override
@@ -47,12 +55,16 @@ public class DisableFixedToUserRotationRule implements TestRule {
return new Statement() {
@Override
public void evaluate() throws Throwable {
- mOriginalValue = executeShellCommand(COMMAND);
- executeShellCommandAndPrint(COMMAND + "disabled");
+ if (mSupportsRotation) {
+ mOriginalValue = executeShellCommand(COMMAND);
+ executeShellCommandAndPrint(COMMAND + "disabled");
+ }
try {
base.evaluate();
} finally {
- executeShellCommandAndPrint(COMMAND + mOriginalValue);
+ if (mSupportsRotation) {
+ executeShellCommandAndPrint(COMMAND + mOriginalValue);
+ }
}
}
};