1 /* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 5 * except in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the 10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 11 * KIND, either express or implied. See the License for the specific language governing 12 * permissions and limitations under the License. 13 */ 14 15 package com.android.systemui.util.leak; 16 17 import android.content.Context; 18 import android.content.res.Configuration; 19 import android.view.Surface; 20 21 public class RotationUtils { 22 23 public static final int ROTATION_NONE = 0; 24 public static final int ROTATION_LANDSCAPE = 1; 25 public static final int ROTATION_SEASCAPE = 2; 26 public static final int ROTATION_UPSIDE_DOWN = 3; 27 getRotation(Context context)28 public static int getRotation(Context context) { 29 Configuration config = context.getResources().getConfiguration(); 30 int rot = context.getDisplay().getRotation(); 31 if (config.smallestScreenWidthDp < 600) { 32 if (rot == Surface.ROTATION_90) { 33 return ROTATION_LANDSCAPE; 34 } else if (rot == Surface.ROTATION_270) { 35 return ROTATION_SEASCAPE; 36 } 37 } 38 return ROTATION_NONE; 39 } 40 getExactRotation(Context context)41 public static int getExactRotation(Context context) { 42 Configuration config = context.getResources().getConfiguration(); 43 int rot = context.getDisplay().getRotation(); 44 if (config.smallestScreenWidthDp < 600) { 45 if (rot == Surface.ROTATION_90) { 46 return ROTATION_LANDSCAPE; 47 } else if (rot == Surface.ROTATION_270) { 48 return ROTATION_SEASCAPE; 49 } else if (rot == Surface.ROTATION_180) { 50 return ROTATION_UPSIDE_DOWN; 51 } 52 } 53 return ROTATION_NONE; 54 } 55 } 56