diff options
Diffstat (limited to 'src/com/android/camera/util/CameraUtil.java')
-rw-r--r-- | src/com/android/camera/util/CameraUtil.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java index 458ae04f2..eff0c4078 100644 --- a/src/com/android/camera/util/CameraUtil.java +++ b/src/com/android/camera/util/CameraUtil.java @@ -43,6 +43,7 @@ import android.telephony.TelephonyManager; import android.util.DisplayMetrics; import android.util.Log; import android.util.TypedValue; +import android.view.Display; import android.view.OrientationEventListener; import android.view.Surface; import android.view.View; @@ -411,6 +412,28 @@ public class CameraUtil { return 0; } + /** + * Calculate the default orientation of the device based on the width and + * height of the display when rotation = 0 (i.e. natural width and height) + * @param activity the activity context + * @return whether the default orientation of the device is portrait + */ + public static boolean isDefaultToPortrait(Activity activity) { + Display currentDisplay = activity.getWindowManager().getDefaultDisplay(); + Point displaySize = new Point(); + currentDisplay.getSize(displaySize); + int orientation = currentDisplay.getRotation(); + int naturalWidth, naturalHeight; + if (orientation == Surface.ROTATION_0 || orientation == Surface.ROTATION_180) { + naturalWidth = displaySize.x; + naturalHeight = displaySize.y; + } else { + naturalWidth = displaySize.y; + naturalHeight = displaySize.x; + } + return naturalWidth < naturalHeight; + } + public static int getDisplayOrientation(int degrees, int cameraId) { // See android.hardware.Camera.setDisplayOrientation for // documentation. |