summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-03-06 15:30:20 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-06 15:30:20 -0800
commitfb7a974380cf55206f546ffba5ee58d9b607d409 (patch)
tree3748bf70ddb0ab2500a67d7315c7ef149d0aad54 /src
parenta3c54129d6e8ac789b5e6b5e6fbaf3c051c35305 (diff)
parent0160260eb1991093e6961c63c7a72bd4b80c7589 (diff)
downloadandroid_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.java12
-rw-r--r--src/com/android/camera/SettingsActivity.java1
-rw-r--r--src/com/android/camera/SettingsManager.java20
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();