/*
* 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);
}
}
}