diff options
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 58 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 60 |
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() { |