diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2015-03-10 22:26:23 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-10 22:26:23 +0000 |
commit | 4005c632742c34fe2e4cc008e8e43a40fe879dd0 (patch) | |
tree | a39df698de8e8e05fd5ca336801bf6ae4b93f14a | |
parent | a37bfb10f39402a0b07d0bc3a2ff7fe734f61b66 (diff) | |
parent | 27e7ac7fb418e278b2e7700f2d65b2bbaeb1c256 (diff) | |
download | pdk-4005c632742c34fe2e4cc008e8e43a40fe879dd0.tar.gz |
Merge "camera2: Add HDR toggle to testing camera."
-rw-r--r-- | apps/TestingCamera/res/layout/main.xml | 10 | ||||
-rw-r--r-- | apps/TestingCamera/res/values/strings.xml | 2 | ||||
-rw-r--r-- | apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java | 35 |
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 |