/* * Copyright (c) 2016 Google Inc. * * 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 com.google.samples.apps.iosched.testutils; import android.app.Activity; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.support.test.rule.ActivityTestRule; /** * Provides a helper method to rotate the device in a test. */ public class OrientationHelper { private static void rotateToLandscape(ActivityTestRule<? extends Activity> activityTestRule) { activityTestRule.getActivity() .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } private static void rotateToPortrait(ActivityTestRule<? extends Activity> activityTestRule) { activityTestRule.getActivity() .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } public static void rotateOrientation(ActivityTestRule<? extends Activity> activityTestRule) { int currentOrientation = activityTestRule.getActivity().getResources().getConfiguration().orientation; switch (currentOrientation) { case Configuration.ORIENTATION_LANDSCAPE: rotateToPortrait(activityTestRule); break; case Configuration.ORIENTATION_PORTRAIT: rotateToLandscape(activityTestRule); break; default: rotateToLandscape(activityTestRule); } } }