summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/Util.java
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2010-06-15 16:41:33 +0800
committerChih-Chung Chang <chihchung@google.com>2010-06-23 12:44:35 +0800
commitac9d0a1ce538eb4bd50cba3b257737a05b9ac4e5 (patch)
tree3afe1d6a8399087d1fc5c30065464828225a23da /src/com/android/camera/Util.java
parent186ff08e71d106e329171055accd4395760495ea (diff)
downloadpackages_apps_LegacyCamera-ac9d0a1ce538eb4bd50cba3b257737a05b9ac4e5.zip
packages_apps_LegacyCamera-ac9d0a1ce538eb4bd50cba3b257737a05b9ac4e5.tar.gz
packages_apps_LegacyCamera-ac9d0a1ce538eb4bd50cba3b257737a05b9ac4e5.tar.bz2
Support switching between multiple cameras.
Change-Id: Id444ebcd780c67f4990bd6f6b96c74379b6859ab
Diffstat (limited to 'src/com/android/camera/Util.java')
-rw-r--r--src/com/android/camera/Util.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/camera/Util.java b/src/com/android/camera/Util.java
index 44d5681..de99562 100644
--- a/src/com/android/camera/Util.java
+++ b/src/com/android/camera/Util.java
@@ -23,6 +23,7 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.util.Log;
+import android.view.Surface;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
@@ -278,4 +279,23 @@ public class Util {
if (x < min) return min;
return x;
}
+
+ public static void setCameraDisplayOrientation(Activity activity,
+ int cameraId, android.hardware.Camera camera) {
+ android.hardware.Camera.CameraInfo info =
+ new android.hardware.Camera.CameraInfo();
+ android.hardware.Camera.getCameraInfo(cameraId, info);
+ int rotation = activity.getWindowManager().getDefaultDisplay()
+ .getRotation();
+ int degrees = 0;
+ switch (rotation) {
+ case Surface.ROTATION_0: degrees = 0; break;
+ case Surface.ROTATION_90: degrees = 90; break;
+ case Surface.ROTATION_180: degrees = 180; break;
+ case Surface.ROTATION_270: degrees = 270; break;
+ }
+
+ int result = (info.mOrientation - degrees + 360) % 360;
+ camera.setDisplayOrientation(result);
+ }
}