aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2014-08-07 17:09:56 -0700
committerIgor Murashkin <iam@google.com>2014-08-07 17:09:56 -0700
commitc6663ceecda29e07a602674544fc94fe1c376dca (patch)
tree61c828364241cfa248158b50fe2ceb332a1be02c
parent5345b93fd44823f695794ab4a7cceb23a82d8f17 (diff)
downloadpdk-c6663ceecda29e07a602674544fc94fe1c376dca.tar.gz
TestingCamera: Add a button to lock/unlock the camera
Bug: 16695955 Change-Id: Id6b754dcf00e92f0a0cad488f24ec3ebfe92e837
-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.java33
3 files changed, 44 insertions, 0 deletions
diff --git a/apps/TestingCamera/res/layout/main.xml b/apps/TestingCamera/res/layout/main.xml
index cf9843f..a52c0ef 100644
--- a/apps/TestingCamera/res/layout/main.xml
+++ b/apps/TestingCamera/res/layout/main.xml
@@ -353,6 +353,15 @@
android:textOff="@string/record_hint_off_label"
android:textOn="@string/record_hint_on_label" />
+ <ToggleButton
+ android:id="@+id/lock_camera"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:textColorLink="@android:color/holo_blue_dark"
+ android:textOff="@string/lock_camera_off_label"
+ android:textOn="@string/lock_camera_on_label" />
+
<View
android:id="@+id/horizontal_rule_5"
android:layout_width="fill_parent"
diff --git a/apps/TestingCamera/res/values/strings.xml b/apps/TestingCamera/res/values/strings.xml
index be5b79c..956b622 100644
--- a/apps/TestingCamera/res/values/strings.xml
+++ b/apps/TestingCamera/res/values/strings.xml
@@ -33,6 +33,8 @@
<string name="record_stabilization_off_label">Video Stabilization off</string>
<string name="record_hint_on_label">Recording Hint on</string>
<string name="record_hint_off_label">Recording Hint off</string>
+ <string name="lock_camera_on_label">Lock on</string>
+ <string name="lock_camera_off_label">Lock 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 9fcd441..f28ec34 100644
--- a/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
+++ b/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
@@ -103,6 +103,7 @@ public class TestingCamera extends Activity
private CheckBox mRecordHandoffCheckBox;
private ToggleButton mRecordStabilizationToggle;
private ToggleButton mRecordHintToggle;
+ private ToggleButton mLockCameraToggle;
private Spinner mCallbackFormatSpinner;
private ToggleButton mCallbackToggle;
private TextView mColorEffectSpinnerLabel;
@@ -266,6 +267,11 @@ public class TestingCamera extends Activity
mRecordHintToggle.setOnClickListener(mRecordHintToggleListener);
mOpenOnlyControls.add(mRecordHintToggle);
+ mLockCameraToggle = (ToggleButton) findViewById(R.id.lock_camera);
+ mLockCameraToggle.setOnClickListener(mLockCameraToggleListener);
+ mLockCameraToggle.setChecked(true); // ON by default
+ mOpenOnlyControls.add(mLockCameraToggle);
+
mCallbackFormatSpinner = (Spinner) findViewById(R.id.callback_format_spinner);
mCallbackFormatSpinner.setOnItemSelectedListener(mCallbackFormatListener);
mOpenOnlyControls.add(mCallbackFormatSpinner);
@@ -712,6 +718,11 @@ public class TestingCamera extends Activity
new View.OnClickListener() {
@Override
public void onClick(View v) {
+ if (!mLockCameraToggle.isChecked()) {
+ logE("Re-lock camera before recording");
+ return;
+ }
+
mPreviewToggle.setEnabled(false);
if (mState == CAMERA_PREVIEW) {
startRecording();
@@ -746,6 +757,28 @@ public class TestingCamera extends Activity
}
};
+ private View.OnClickListener mLockCameraToggleListener =
+ new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ if (mState == CAMERA_RECORD) {
+ logE("Stop recording before toggling lock");
+ return;
+ }
+
+ boolean on = ((ToggleButton) v).isChecked();
+
+ if (on) {
+ mCamera.lock();
+ log("Locked camera");
+ } else {
+ mCamera.unlock();
+ log("Unlocked camera");
+ }
+ }
+ };
+
private Camera.ShutterCallback mShutterCb = new Camera.ShutterCallback() {
@Override
public void onShutter() {