Home | History | Annotate | Download | only in leak
      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 
     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 
     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