summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/PhotoModule.java58
-rw-r--r--src/com/android/camera/VideoModule.java60
2 files changed, 67 insertions, 51 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 7756f6670..3117a2e52 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1865,34 +1865,38 @@ public class PhotoModule
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);
+ Log.e(TAG,"loadCameraPreferences() updating camera_id pref");
- int[] iconIds = {R.drawable.ic_switch_front, R.drawable.ic_switch_back};
- switchIconPref.setIconIds(iconIds);
+ int[] iconIds = new int[numOfCams];
+ String[] entries = new String[numOfCams];
+ String[] labels = new String[numOfCams];
+ int[] largeIconIds = new int[numOfCams];
- 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);
+ for(int i=0;i<numOfCams;i++) {
+ CameraInfo info = CameraHolder.instance().getCameraInfo()[i];
+ if(info.facing == CameraInfo.CAMERA_FACING_BACK) {
+ iconIds[i] = R.drawable.ic_switch_back;
+ entries[i] = mActivity.getResources().getString(R.string.pref_camera_id_entry_back);
+ labels[i] = mActivity.getResources().getString(R.string.pref_camera_id_label_back);
+ largeIconIds[i] = R.drawable.ic_switch_back;
+ } else {
+ iconIds[i] = R.drawable.ic_switch_front;
+ entries[i] = mActivity.getResources().getString(R.string.pref_camera_id_entry_front);
+ labels[i] = mActivity.getResources().getString(R.string.pref_camera_id_label_front);
+ largeIconIds[i] = R.drawable.ic_switch_front;
+ }
+ }
- 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);
+ IconListPreference switchIconPref =
+ (IconListPreference)mPreferenceGroup.findPreference(
+ CameraSettings.KEY_CAMERA_ID);
+
+ switchIconPref.setIconIds(iconIds);
+ switchIconPref.setEntries(entries);
+ switchIconPref.setLabels(labels);
+ switchIconPref.setLargeIconIds(largeIconIds);
- int[] largeIconIds = {R.drawable.ic_switch_front, R.drawable.ic_switch_back};
- switchIconPref.setLargeIconIds(largeIconIds);
- }
}
@Override
@@ -3567,8 +3571,14 @@ public class PhotoModule
}
// Set JPEG quality.
- int jpegQuality = CameraProfile.getJpegEncodingQualityParameter(mCameraId,
+ int jpegQuality;
+ if(mCameraId>1) {
+ jpegQuality=95; //Temproray Solution for camera ids greater than 1. Proper fix TBD.
+ } else {
+ jpegQuality = CameraProfile.getJpegEncodingQualityParameter(mCameraId,
CameraProfile.QUALITY_HIGH);
+ }
+
mParameters.setJpegQuality(jpegQuality);
// For the following settings, we need to check if the settings are
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 3aa874f7d..bf86ed3ce 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -527,34 +527,40 @@ public class VideoModule implements CameraModule,
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);
+
+ //TODO: If numOfCams > 2 then corresponding entries needs to be added to the media_profiles.xml
+
+ Log.e(TAG,"loadCameraPreferences() updating camera_id pref");
+
+ int[] iconIds = new int[numOfCams];
+ String[] entries = new String[numOfCams];
+ String[] labels = new String[numOfCams];
+ int[] largeIconIds = new int[numOfCams];
+
+ for(int i=0;i<numOfCams;i++) {
+ CameraInfo info = CameraHolder.instance().getCameraInfo()[i];
+ if(info.facing == CameraInfo.CAMERA_FACING_BACK) {
+ iconIds[i] = R.drawable.ic_switch_back;
+ entries[i] = mActivity.getResources().getString(R.string.pref_camera_id_entry_back);
+ labels[i] = mActivity.getResources().getString(R.string.pref_camera_id_label_back);
+ largeIconIds[i] = R.drawable.ic_switch_back;
+ } else {
+ iconIds[i] = R.drawable.ic_switch_front;
+ entries[i] = mActivity.getResources().getString(R.string.pref_camera_id_entry_front);
+ labels[i] = mActivity.getResources().getString(R.string.pref_camera_id_label_front);
+ largeIconIds[i] = R.drawable.ic_switch_front;
+ }
}
+
+ IconListPreference switchIconPref =
+ (IconListPreference)mPreferenceGroup.findPreference(
+ CameraSettings.KEY_CAMERA_ID);
+
+ switchIconPref.setIconIds(iconIds);
+ switchIconPref.setEntries(entries);
+ switchIconPref.setLabels(labels);
+ switchIconPref.setLargeIconIds(largeIconIds);
+
}
private void initializeVideoControl() {