summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-03-26 07:42:35 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2014-03-26 07:42:35 -0700
commit1c27d21582316c5031117fad7ccb291992f7fe33 (patch)
treed9786a2bf2d8e55e76216c01c5e3d8a8d05e8590
parent3b3bf88b2db66dca0826443bbcf2559c99654020 (diff)
parentefabd537a0f8904f90c4d92e0e6140cd951f0bab (diff)
downloadandroid_packages_apps_Snap-1c27d21582316c5031117fad7ccb291992f7fe33.tar.gz
android_packages_apps_Snap-1c27d21582316c5031117fad7ccb291992f7fe33.tar.bz2
android_packages_apps_Snap-1c27d21582316c5031117fad7ccb291992f7fe33.zip
Merge "Camera: Open back camera first irrespective of ID"
-rw-r--r--src/com/android/camera/CameraSettings.java7
-rw-r--r--src/com/android/camera/PhotoModule.java31
-rw-r--r--src/com/android/camera/VideoModule.java31
3 files changed, 67 insertions, 2 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 60656cd08..267de2d55 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -704,12 +704,15 @@ public class CameraSettings {
int n = CameraHolder.instance().getNumberOfCameras();
if (cameraId < 0 || cameraId >= n) {
- writePreferredCameraId(pref, 0);
+ cameraId = 0;
}
+ writePreferredCameraId(pref, cameraId);
}
public static int readPreferredCameraId(SharedPreferences pref) {
- return Integer.parseInt(pref.getString(KEY_CAMERA_ID, "0"));
+ String rearCameraId = Integer.toString(
+ CameraHolder.instance().getBackCameraId());
+ return Integer.parseInt(pref.getString(KEY_CAMERA_ID, rearCameraId));
}
public static void writePreferredCameraId(SharedPreferences pref,
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 3fa182b5f..74dbe3abe 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -30,6 +30,7 @@ import android.graphics.SurfaceTexture;
import android.hardware.Camera.CameraInfo;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.Size;
+import android.hardware.Camera;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
@@ -1409,6 +1410,36 @@ public class PhotoModule
CameraSettings settings = new CameraSettings(mActivity, mInitialParams,
mCameraId, CameraHolder.instance().getCameraInfo());
mPreferenceGroup = settings.getPreferenceGroup(R.xml.camera_preferences);
+
+ int numOfCams = Camera.getNumberOfCameras();
+ int backCamId = CameraHolder.instance().getBackCameraId();
+ int frontCamId = CameraHolder.instance().getFrontCameraId();
+ // We need to swap the list preference contents if back camera and front camera
+ // IDs are not 0 and 1 respectively
+ if ((numOfCams == 2) && ((backCamId != CameraInfo.CAMERA_FACING_BACK)
+ || (frontCamId != CameraInfo.CAMERA_FACING_FRONT))) {
+ Log.e(TAG,"loadCameraPreferences() updating camera_id pref");
+
+ IconListPreference switchIconPref =
+ (IconListPreference)mPreferenceGroup.findPreference(
+ CameraSettings.KEY_CAMERA_ID);
+
+ int[] iconIds = {R.drawable.ic_switch_front, R.drawable.ic_switch_back};
+ switchIconPref.setIconIds(iconIds);
+
+ String[] entries = {mActivity.getResources().getString(
+ R.string.pref_camera_id_entry_front), mActivity.getResources().
+ getString(R.string.pref_camera_id_entry_back)};
+ switchIconPref.setEntries(entries);
+
+ String[] labels = {mActivity.getResources().getString(
+ R.string.pref_camera_id_label_front), mActivity.getResources().
+ getString(R.string.pref_camera_id_label_back)};
+ switchIconPref.setLabels(labels);
+
+ int[] largeIconIds = {R.drawable.ic_switch_front, R.drawable.ic_switch_back};
+ switchIconPref.setLargeIconIds(largeIconIds);
+ }
}
@Override
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 8562b9636..1d0c8adc5 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -30,6 +30,7 @@ import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.SurfaceTexture;
import android.graphics.ImageFormat;
+import android.hardware.Camera;
import android.hardware.Camera.CameraInfo;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.Size;
@@ -508,6 +509,36 @@ public class VideoModule implements CameraModule,
// Remove the video quality preference setting when the quality is given in the intent.
mPreferenceGroup = filterPreferenceScreenByIntent(
settings.getPreferenceGroup(R.xml.video_preferences));
+
+ int numOfCams = Camera.getNumberOfCameras();
+ int backCamId = CameraHolder.instance().getBackCameraId();
+ int frontCamId = CameraHolder.instance().getFrontCameraId();
+ // We need to swap the list preference contents if back camera and front camera
+ // IDs are not 0 and 1 respectively
+ if( (numOfCams == 2) && ((backCamId != CameraInfo.CAMERA_FACING_BACK)
+ || (frontCamId != CameraInfo.CAMERA_FACING_FRONT))) {
+ Log.e(TAG,"loadCameraPreferences() updating camera_id pref");
+
+ IconListPreference switchIconPref =
+ (IconListPreference)mPreferenceGroup.findPreference(
+ CameraSettings.KEY_CAMERA_ID);
+
+ int[] iconIds = {R.drawable.ic_switch_front, R.drawable.ic_switch_back};
+ switchIconPref.setIconIds(iconIds);
+
+ String[] entries = {mActivity.getResources().getString(
+ R.string.pref_camera_id_entry_front), mActivity.getResources().
+ getString(R.string.pref_camera_id_entry_back)};
+ switchIconPref.setEntries(entries);
+
+ String[] labels = {mActivity.getResources().getString(
+ R.string.pref_camera_id_label_front), mActivity.getResources().
+ getString(R.string.pref_camera_id_label_back)};
+ switchIconPref.setLabels(labels);
+
+ int[] largeIconIds = {R.drawable.ic_switch_front, R.drawable.ic_switch_back};
+ switchIconPref.setLargeIconIds(largeIconIds);
+ }
}
private void initializeVideoControl() {