summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/util/CameraUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/util/CameraUtil.java')
-rw-r--r--src/com/android/camera/util/CameraUtil.java23
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.