aboutsummaryrefslogtreecommitdiff
path: root/apps/TestingCamera
diff options
context:
space:
mode:
authorAlex Ray <aray@google.com>2012-10-23 03:34:57 -0700
committerAlex Ray <aray@google.com>2012-11-02 13:56:48 -0700
commitfaf0dca8fcd28b16cf984ba26587acbfb915b37f (patch)
tree59db5073f12d94b83916bf80ad00e0da07e78f76 /apps/TestingCamera
parent35b1da53ad8a06a062f605b6be83a99df0c3af87 (diff)
downloadpdk-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.xml9
-rw-r--r--apps/TestingCamera/res/values/strings.xml2
-rw-r--r--apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java20
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);