aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2015-03-10 14:36:43 -0700
committerRuben Brunk <rubenbrunk@google.com>2015-03-10 14:36:43 -0700
commit27e7ac7fb418e278b2e7700f2d65b2bbaeb1c256 (patch)
treea39df698de8e8e05fd5ca336801bf6ae4b93f14a
parent4a542d96a9ce1fc8b567eb853dac0baea64505a1 (diff)
downloadpdk-27e7ac7fb418e278b2e7700f2d65b2bbaeb1c256.tar.gz
camera2: Add HDR toggle to testing camera.
Change-Id: I68910e4d38f42d6b91b2fe2683519515a40d672a
-rw-r--r--apps/TestingCamera/res/layout/main.xml10
-rw-r--r--apps/TestingCamera/res/values/strings.xml2
-rw-r--r--apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java35
3 files changed, 47 insertions, 0 deletions
diff --git a/apps/TestingCamera/res/layout/main.xml b/apps/TestingCamera/res/layout/main.xml
index a52c0ef..a4cd6b5 100644
--- a/apps/TestingCamera/res/layout/main.xml
+++ b/apps/TestingCamera/res/layout/main.xml
@@ -140,6 +140,16 @@
android:layout_weight="1" />
<ToggleButton
+ android:id="@+id/hdr_mode"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_weight="1"
+ android:textColorLink="@android:color/holo_blue_light"
+ android:textOff="@string/hdr_off_label"
+ android:textOn="@string/hdr_on_label" />
+
+ <ToggleButton
android:id="@+id/start_preview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
diff --git a/apps/TestingCamera/res/values/strings.xml b/apps/TestingCamera/res/values/strings.xml
index 956b622..5b0345e 100644
--- a/apps/TestingCamera/res/values/strings.xml
+++ b/apps/TestingCamera/res/values/strings.xml
@@ -18,7 +18,9 @@
<resources>
<string name="app_name">TestingCam</string>
+ <string name="hdr_on_label">HDR On</string>
<string name="preview_on_label">Preview On</string>
+ <string name="hdr_off_label">HDR Off</string>
<string name="preview_off_label">Preview Off</string>
<string name="take_picture_label">Take picture</string>
<string name="preview_resolution_prompt">Preview size</string>
diff --git a/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java b/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
index 70e8835..e5ecd0c 100644
--- a/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
+++ b/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
@@ -89,6 +89,7 @@ public class TestingCamera extends Activity
private Spinner mPreviewSizeSpinner;
private Spinner mPreviewFrameRateSpinner;
private ToggleButton mPreviewToggle;
+ private ToggleButton mHDRToggle;
private Spinner mAutofocusModeSpinner;
private Button mAutofocusButton;
private Button mCancelAutofocusButton;
@@ -205,6 +206,10 @@ public class TestingCamera extends Activity
mPreviewFrameRateSpinner.setOnItemSelectedListener(mPreviewFrameRateListener);
mOpenOnlyControls.add(mPreviewFrameRateSpinner);
+ mHDRToggle = (ToggleButton) findViewById(R.id.hdr_mode);
+ mHDRToggle.setOnClickListener(mHDRToggleListener);
+ mOpenOnlyControls.add(mHDRToggle);
+
mPreviewToggle = (ToggleButton) findViewById(R.id.start_preview);
mPreviewToggle.setOnClickListener(mPreviewToggleListener);
mOpenOnlyControls.add(mPreviewToggle);
@@ -536,6 +541,26 @@ public class TestingCamera extends Activity
}
};
+ private View.OnClickListener mHDRToggleListener =
+ new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (mState == CAMERA_TAKE_PICTURE) {
+ logE("Can't change preview state while taking picture!");
+ return;
+ }
+
+ if (mHDRToggle.isChecked()) {
+ log("Turning on HDR");
+ mParams.setSceneMode(Camera.Parameters.SCENE_MODE_HDR);
+ } else {
+ log("Turning off HDR");
+ mParams.setSceneMode(Camera.Parameters.SCENE_MODE_AUTO);
+ }
+ mCamera.setParameters(mParams);
+ }
+ };
+
private View.OnClickListener mPreviewToggleListener =
new View.OnClickListener() {
@Override
@@ -936,6 +961,16 @@ public class TestingCamera extends Activity
setCameraDisplayOrientation();
mParams = mCamera.getParameters();
+ if (mParams != null) {
+ List<String> sceneModes = mParams.getSupportedSceneModes();
+ for (String mode : sceneModes) {
+ if (Camera.Parameters.SCENE_MODE_HDR.equals(mode)){
+ mHDRToggle.setEnabled(true);
+ } else {
+ mHDRToggle.setEnabled(false);
+ }
+ }
+ }
// Set up preview size selection