summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-06-04 07:07:11 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2014-06-04 07:07:10 -0700
commit388b3690fad4a847bad20a623138a66f4255b02d (patch)
tree7166abeb703124ab3913eb35ced627652488a236 /src/com/android
parent170107fbc4346f960d8d3d5011e6ae5229198eb5 (diff)
parent3512531b2ce62b56900affadb5dae1172ffba2d8 (diff)
downloadandroid_packages_apps_Snap-388b3690fad4a847bad20a623138a66f4255b02d.tar.gz
android_packages_apps_Snap-388b3690fad4a847bad20a623138a66f4255b02d.tar.bz2
android_packages_apps_Snap-388b3690fad4a847bad20a623138a66f4255b02d.zip
Merge "Camera2: Query support for longshot and ZSL+HDR from parameters."
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/camera/CameraPreference.java1
-rw-r--r--src/com/android/camera/CameraSettings.java28
-rw-r--r--src/com/android/camera/PhotoMenu.java2
-rw-r--r--src/com/android/camera/PhotoModule.java24
-rw-r--r--src/com/android/camera/PhotoUI.java4
-rw-r--r--src/com/android/camera/PieController.java2
-rw-r--r--src/com/android/camera/VideoModule.java5
7 files changed, 64 insertions, 2 deletions
diff --git a/src/com/android/camera/CameraPreference.java b/src/com/android/camera/CameraPreference.java
index 407c1408c..f2a78e9cc 100644
--- a/src/com/android/camera/CameraPreference.java
+++ b/src/com/android/camera/CameraPreference.java
@@ -34,6 +34,7 @@ public abstract class CameraPreference {
private final Context mContext;
static public interface OnPreferenceChangedListener {
+ public void onSharedPreferenceChanged(ListPreference pref);
public void onSharedPreferenceChanged();
public void onRestorePreferencesClicked();
public void onOverriddenPreferencesClicked();
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 243a1ff8f..c70ee9909 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -122,6 +122,8 @@ public class CameraSettings {
public static final String KEY_QC_DIS_MODE = "dis";
public static final String KEY_INTERNAL_PREVIEW_RESTART = "internal-restart";
+ public static final String KEY_QC_ZSL_HDR_SUPPORTED = "zsl-hdr-supported";
+ public static final String KEY_QC_LONGSHOT_SUPPORTED = "longshot-supported";
private static final String TRUE = "true";
private static final String FALSE = "false";
@@ -348,6 +350,7 @@ public class CameraSettings {
ListPreference videoHdr = group.findPreference(KEY_VIDEO_HDR);
ListPreference pictureFormat = group.findPreference(KEY_PICTURE_FORMAT);
ListPreference hfr = group.findPreference(KEY_VIDEO_HIGH_FRAME_RATE);
+ ListPreference longShot = group.findPreference(KEY_LONGSHOT);
if (touchAfAec != null) {
filterUnsupportedOptions(group,
@@ -435,6 +438,9 @@ public class CameraSettings {
filterUnsupportedOptions(group,
advancedFeatures, getSupportedAdvancedFeatures(mParameters));
}
+ if (longShot!= null && !isLongshotSupported(mParameters)) {
+ removePreference(group, longShot.getKey());
+ }
}
private void initPreference(PreferenceGroup group) {
ListPreference videoQuality = group.findPreference(KEY_VIDEO_QUALITY);
@@ -898,4 +904,26 @@ public class CameraSettings {
}
return ret;
}
+
+ public static boolean isLongshotSupported(Parameters params) {
+ boolean ret = false;
+ if (null != params) {
+ String val = params.get(KEY_QC_LONGSHOT_SUPPORTED);
+ if ((null != val) && (TRUE.equals(val))) {
+ ret = true;
+ }
+ }
+ return ret;
+ }
+
+ public static boolean isZSLHDRSupported(Parameters params) {
+ boolean ret = false;
+ if (null != params) {
+ String val = params.get(KEY_QC_ZSL_HDR_SUPPORTED);
+ if ((null != val) && (TRUE.equals(val))) {
+ ret = true;
+ }
+ }
+ return ret;
+ }
}
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index 4b7fc49ed..a9526962b 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -371,7 +371,7 @@ public class PhotoMenu extends PieController
return (key.equals(pref.getKey()) && !value.equals(pref.getValue()));
}
- private void setPreference(String key, String value) {
+ public void setPreference(String key, String value) {
ListPreference pref = mPreferenceGroup.findPreference(key);
if (pref != null && !value.equals(pref.getValue())) {
pref.setValue(value);
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 1edb3b529..a6f8fb239 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -2953,6 +2953,30 @@ public class PhotoModule
}
}
+ // Return true if the preference has the specified key but not the value.
+ private static boolean notSame(ListPreference pref, String key, String value) {
+ return (key.equals(pref.getKey()) && !value.equals(pref.getValue()));
+ }
+
+ @Override
+ public void onSharedPreferenceChanged(ListPreference pref) {
+ // ignore the events after "onPause()"
+ if (mPaused) return;
+
+ //filter off unsupported settings
+ final String settingOff = mActivity.getString(R.string.setting_off_value);
+ if (!CameraSettings.isZSLHDRSupported(mParameters)) {
+ if (notSame(pref, CameraSettings.KEY_CAMERA_HDR, settingOff)) {
+ mUI.setPreference(CameraSettings.KEY_ZSL,settingOff);
+ } else if (notSame(pref,CameraSettings.KEY_ZSL,settingOff)) {
+ mUI.setPreference(CameraSettings.KEY_CAMERA_HDR, settingOff);
+ }
+ }
+
+ //call generic onSharedPreferenceChanged
+ onSharedPreferenceChanged();
+ }
+
@Override
public void onSharedPreferenceChanged() {
// ignore the events after "onPause()"
diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java
index 7717e1af0..7a798bea3 100644
--- a/src/com/android/camera/PhotoUI.java
+++ b/src/com/android/camera/PhotoUI.java
@@ -933,4 +933,8 @@ public class PhotoUI implements PieListener,
mController.updateCameraOrientation();
}
+ public void setPreference(String key, String value) {
+ mMenu.setPreference(key, value);
+ }
+
}
diff --git a/src/com/android/camera/PieController.java b/src/com/android/camera/PieController.java
index b55fc3551..d2e5b72c1 100644
--- a/src/com/android/camera/PieController.java
+++ b/src/com/android/camera/PieController.java
@@ -73,7 +73,7 @@ public class PieController {
public void onSettingChanged(ListPreference pref) {
if (mListener != null) {
- mListener.onSharedPreferenceChanged();
+ mListener.onSharedPreferenceChanged(pref);
}
}
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 1fab44268..9c1c7a65a 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -2172,6 +2172,11 @@ public class VideoModule implements CameraModule,
}
@Override
+ public void onSharedPreferenceChanged(ListPreference pref) {
+ onSharedPreferenceChanged();
+ }
+
+ @Override
public void onSharedPreferenceChanged() {
// ignore the events after "onPause()" or preview has not started yet
if (mPaused) {