diff options
author | Sanjeev Garg <sangarg@codeaurora.org> | 2015-09-02 19:57:10 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-09-16 02:42:07 -0700 |
commit | e51e82617b631046af8e5f5035f53fc66dfb524d (patch) | |
tree | c06bb2ba6ef00213d113a56060b5cb68392db21a /src/com/android/camera/PhotoModule.java | |
parent | 465c11e451e18b7f3e8109fdbbc56b866f7f8a56 (diff) | |
download | android_packages_apps_Snap-e51e82617b631046af8e5f5035f53fc66dfb524d.tar.gz android_packages_apps_Snap-e51e82617b631046af8e5f5035f53fc66dfb524d.tar.bz2 android_packages_apps_Snap-e51e82617b631046af8e5f5035f53fc66dfb524d.zip |
SnapdragonCamera: Adding support for any number of cameras in app.
At present the SnapdragonCamera App can support maximum of 2 cameras.
Generalizing SnapdragonCamera App to support any number of cameras
exposed to the application.
Note - If number of cameras supported is greater than 2 then we need
to add corresponding entries in media_profiles.xml so that recording
can work fine on more than 2 cameras supported.
Change-Id: Ic20667e29e0541d71c764bfd51a9c7a4d2ea83cd
Diffstat (limited to 'src/com/android/camera/PhotoModule.java')
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 58 |
1 files changed, 34 insertions, 24 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index b7a38dd09..62b043d17 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 @@ -3565,8 +3569,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 |