diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2023-03-24 23:30:30 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2023-03-24 23:30:30 +0000 |
commit | d968bbcf83614f7dd80b8b2070d859862787fa4a (patch) | |
tree | e2efff137605551107454f7a5323c58fec60dece | |
parent | 271e6f716785cb1fce4b7bf3c28a6a5eb51ad92d (diff) | |
parent | 730cac35aac1e3fec59a37a529f79235ca07e199 (diff) | |
download | cts-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.java | 87 | ||||
-rw-r--r-- | tests/tests/view/src/android/view/cts/util/DisableFixedToUserRotationRule.java | 18 |
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); + } } } }; |