diff options
author | Alex Ray <aray@google.com> | 2012-10-23 03:34:57 -0700 |
---|---|---|
committer | Alex Ray <aray@google.com> | 2012-11-02 13:56:48 -0700 |
commit | faf0dca8fcd28b16cf984ba26587acbfb915b37f (patch) | |
tree | 59db5073f12d94b83916bf80ad00e0da07e78f76 /apps/TestingCamera | |
parent | 35b1da53ad8a06a062f605b6be83a99df0c3af87 (diff) | |
download | pdk-faf0dca8fcd28b16cf984ba26587acbfb915b37f.tar.gz |
TestingCamera: Add Video Stabilization Toggle
Add a button to select video stabilization. Only enabled if the camera
supports it.
Change-Id: I97018e2b5f1384594f75567fdfa08154aa098e8c
Diffstat (limited to 'apps/TestingCamera')
-rw-r--r-- | apps/TestingCamera/res/layout/main.xml | 9 | ||||
-rw-r--r-- | apps/TestingCamera/res/values/strings.xml | 2 | ||||
-rw-r--r-- | apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java | 20 |
3 files changed, 31 insertions, 0 deletions
diff --git a/apps/TestingCamera/res/layout/main.xml b/apps/TestingCamera/res/layout/main.xml index 42dce9b..78c2ebe 100644 --- a/apps/TestingCamera/res/layout/main.xml +++ b/apps/TestingCamera/res/layout/main.xml @@ -261,6 +261,15 @@ android:textColorLink="@android:color/holo_red_dark" android:textOff="@string/record_off_label" android:textOn="@string/record_on_label" /> + + <ToggleButton + android:id="@+id/record_stabilization" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:textColorLink="@android:color/holo_blue_dark" + android:textOff="@string/record_stabilization_off_label" + android:textOn="@string/record_stabilization_on_label" /> </LinearLayout> </ScrollView> diff --git a/apps/TestingCamera/res/values/strings.xml b/apps/TestingCamera/res/values/strings.xml index 41f107f..4720c96 100644 --- a/apps/TestingCamera/res/values/strings.xml +++ b/apps/TestingCamera/res/values/strings.xml @@ -28,6 +28,8 @@ <string name="snapshot_size_spinner_label">Still capture size</string> <string name="record_on_label">Recording on</string> <string name="record_off_label">Recording off</string> + <string name="record_stabilization_on_label">Video Stabilization on</string> + <string name="record_stabilization_off_label">Video Stabilization off</string> <string name="camcorder_profile_prompt">Camcorder profile</string> <string name="video_record_size_prompt">Video Record size</string> <string name="video_frame_rate_prompt">Video Frame Rate</string> diff --git a/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java b/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java index 1a7a193..5429932 100644 --- a/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java +++ b/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java @@ -80,6 +80,7 @@ public class TestingCamera extends Activity implements SurfaceHolder.Callback { private Spinner mVideoRecordSizeSpinner; private Spinner mVideoFrameRateSpinner; private ToggleButton mRecordToggle; + private ToggleButton mRecordStabilizationToggle; private TextView mLogView; @@ -175,6 +176,9 @@ public class TestingCamera extends Activity implements SurfaceHolder.Callback { mRecordToggle.setOnClickListener(mRecordToggleListener); mPreviewOnlyControls.add(mRecordToggle); + mRecordStabilizationToggle = (ToggleButton) findViewById(R.id.record_stabilization); + mRecordStabilizationToggle.setOnClickListener(mRecordStabilizationToggleListener); + mLogView = (TextView) findViewById(R.id.log); mLogView.setMovementMethod(new ScrollingMovementMethod()); @@ -500,6 +504,14 @@ public class TestingCamera extends Activity implements SurfaceHolder.Callback { } }; + private View.OnClickListener mRecordStabilizationToggleListener = + new View.OnClickListener() { + public void onClick(View v) { + boolean on = ((ToggleButton) v).isChecked(); + mParams.setVideoStabilization(on); + } + }; + private Camera.ShutterCallback mShutterCb = new Camera.ShutterCallback() { public void onShutter() { log("Shutter callback received"); @@ -565,6 +577,14 @@ public class TestingCamera extends Activity implements SurfaceHolder.Callback { // Trigger updating video record size to match camcorder profile mCamcorderProfileSpinner.setSelection(mCamcorderProfile); + if (mParams.isVideoStabilizationSupported()) { + log("Video stabilization is supported"); + mRecordStabilizationToggle.setEnabled(true); + } else { + log("Video stabilization not supported"); + mRecordStabilizationToggle.setEnabled(false); + } + // Update parameters based on above updates mCamera.setParameters(mParams); |