diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-06 15:30:20 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-06 15:30:20 -0800 |
commit | fb7a974380cf55206f546ffba5ee58d9b607d409 (patch) | |
tree | 3748bf70ddb0ab2500a67d7315c7ef149d0aad54 /src | |
parent | a3c54129d6e8ac789b5e6b5e6fbaf3c051c35305 (diff) | |
parent | 0160260eb1991093e6961c63c7a72bd4b80c7589 (diff) | |
download | android_packages_apps_Snap-fb7a974380cf55206f546ffba5ee58d9b607d409.tar.gz android_packages_apps_Snap-fb7a974380cf55206f546ffba5ee58d9b607d409.tar.bz2 android_packages_apps_Snap-fb7a974380cf55206f546ffba5ee58d9b607d409.zip |
Merge "SnapdragonCamera: Add zoom option to developer option for camera2" into camera.lnx.1.0-dev.1.0
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/CaptureModule.java | 12 | ||||
-rw-r--r-- | src/com/android/camera/SettingsActivity.java | 1 | ||||
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 20 |
3 files changed, 32 insertions, 1 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 19eb655b5..db9feffb8 100644 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -2169,7 +2169,7 @@ public class CaptureModule implements CameraModule, PhotoController, mState[i] = STATE_PREVIEW; } mLongshotActive = false; - mZoomValue = 1.0f; + updateZoom(); updatePreviewSurfaceReadyState(false); } @@ -3007,6 +3007,16 @@ public class CaptureModule implements CameraModule, PhotoController, } } + private void updateZoom() { + String zoomStr = mSettingsManager.getValue(SettingsManager.KEY_ZOOM); + int zoom = Integer.parseInt(zoomStr); + if ( zoom !=0 ) { + mZoomValue = (float)zoom; + }else{ + mZoomValue = 1.0f; + } + } + private boolean startRecordingVideo(final int cameraId) { if (null == mCameraDevice[cameraId]) { return false; diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index a54be02af..d3f0b5a96 100644 --- a/src/com/android/camera/SettingsActivity.java +++ b/src/com/android/camera/SettingsActivity.java @@ -217,6 +217,7 @@ public class SettingsActivity extends PreferenceActivity { updatePreference(SettingsManager.KEY_EXPOSURE); updatePreference(SettingsManager.KEY_VIDEO_HIGH_FRAME_RATE); updatePreference(SettingsManager.KEY_VIDEO_ENCODER); + updatePreference(SettingsManager.KEY_ZOOM); Map<String, SettingsManager.Values> map = mSettingsManager.getValuesMap(); Set<Map.Entry<String, SettingsManager.Values>> set = map.entrySet(); diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index d8c36b16b..d9184d579 100644 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -144,6 +144,8 @@ public class SettingsManager implements ListMenu.SettingsListener { public static final String KEY_HISTOGRAM = "pref_camera2_histogram_key"; public static final String KEY_HDR = "pref_camera2_hdr_key"; public static final String KEY_SAVERAW = "pref_camera2_saveraw_key"; + public static final String KEY_ZOOM = "pref_camera2_zoom_key"; + public static final HashMap<String, Integer> KEY_ISO_INDEX = new HashMap<String, Integer>(); private static final String TAG = "SnapCam_SettingsManager"; @@ -607,6 +609,7 @@ public class SettingsManager implements ListMenu.SettingsListener { ListPreference antiBandingLevel = mPreferenceGroup.findPreference(KEY_ANTI_BANDING_LEVEL); ListPreference histogram = mPreferenceGroup.findPreference(KEY_HISTOGRAM); ListPreference hdr = mPreferenceGroup.findPreference(KEY_HDR); + ListPreference zoom = mPreferenceGroup.findPreference(KEY_ZOOM); if (whiteBalance != null) { if (filterUnsupportedOptions(whiteBalance, getSupportedWhiteBalanceModes(cameraId))) { @@ -744,6 +747,13 @@ public class SettingsManager implements ListMenu.SettingsListener { removePreference(mPreferenceGroup, KEY_SELFIE_FLASH); removePreference(mPreferenceGroup, KEY_SELFIEMIRROR); } + + if ( zoom != null ) { + if (filterUnsupportedOptions(zoom, + getSupportedZoomLevel(cameraId))) { + mFilteredKeys.add(zoom.getKey()); + } + } } private void runTimeUpdateDependencyOptions(ListPreference pref) { @@ -1252,6 +1262,16 @@ public class SettingsManager implements ListMenu.SettingsListener { return modes; } + private List<String> getSupportedZoomLevel(int cameraId) { + float maxZoom = mCharacteristics.get(cameraId).get(CameraCharacteristics + .SCALER_AVAILABLE_MAX_DIGITAL_ZOOM); + ArrayList<String> supported = new ArrayList<String>(); + for (int zoomLevel = 0; zoomLevel <= maxZoom; zoomLevel++) { + supported.add(String.valueOf(zoomLevel)); + } + return supported; + } + private void resetIfInvalid(ListPreference pref) { // Set the value to the first entry if it is invalid. String value = pref.getValue(); |