summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/VideoModule.java
diff options
context:
space:
mode:
authorMichael Bestas <mikeioannina@gmail.com>2013-11-05 16:43:50 +0200
committerBruno Martins <bgcngm@gmail.com>2018-11-20 12:30:48 +0000
commitc2e6b4b570d9736026e420979acc45a6f718b9f1 (patch)
tree85f1a82772bce93ac7e3840b632d242c31c54cc3 /src/com/android/camera/VideoModule.java
parent451b8afdfb4e1bc401b9d189682c108d3bce272b (diff)
downloadandroid_packages_apps_Snap-c2e6b4b570d9736026e420979acc45a6f718b9f1.tar.gz
android_packages_apps_Snap-c2e6b4b570d9736026e420979acc45a6f718b9f1.tar.bz2
android_packages_apps_Snap-c2e6b4b570d9736026e420979acc45a6f718b9f1.zip
Camera: Cleanup hardware key handling
* Fix power shutter behaviour in camcorder mode * Disable volume change while in panorama mode, volume buttons should only handle camera operations while in the camera * Add camera/power/volume key shutter handling in panorama mode On devices with a hardware camera key: * Disable power & volume shutter features * Volume buttons control the zoom On devices without a hardware camera key: * When power shutter is disabled, volume buttons control the shutter (like AOSP) * When power shutter is enabled, volume buttons control the zoom Change-Id: I141946d5b6f5aec8b1e9a9f99270d30295596079
Diffstat (limited to 'src/com/android/camera/VideoModule.java')
-rw-r--r--src/com/android/camera/VideoModule.java41
1 files changed, 32 insertions, 9 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index df436106e..e713c72dc 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -1385,25 +1385,41 @@ public class VideoModule implements CameraModule,
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
- mUI.onScaleStepResize(true);
+ if (event.getRepeatCount() == 0 && !CameraActivity.mPowerShutter &&
+ !CameraUtil.hasCameraKey()) {
+ mUI.clickShutter();
+ } else {
+ mUI.onScaleStepResize(true);
+ }
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
- mUI.onScaleStepResize(false);
+ if (event.getRepeatCount() == 0 && !CameraActivity.mPowerShutter &&
+ !CameraUtil.hasCameraKey()) {
+ mUI.clickShutter();
+ } else {
+ mUI.onScaleStepResize(false);
+ }
return true;
case KeyEvent.KEYCODE_CAMERA:
if (event.getRepeatCount() == 0) {
mUI.clickShutter();
- return true;
}
- break;
+ return true;
case KeyEvent.KEYCODE_DPAD_CENTER:
if (event.getRepeatCount() == 0) {
mUI.clickShutter();
- return true;
}
- break;
+ return true;
+ case KeyEvent.KEYCODE_POWER:
+ if (event.getRepeatCount() == 0 && CameraActivity.mPowerShutter &&
+ !CameraUtil.hasCameraKey()) {
+ mUI.clickShutter();
+ }
+ return true;
case KeyEvent.KEYCODE_MENU:
- if (mMediaRecorderRecording) return true;
+ if (mMediaRecorderRecording) {
+ return true;
+ }
break;
}
return false;
@@ -1413,14 +1429,21 @@ public class VideoModule implements CameraModule,
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
+ if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) {
+ mUI.pressShutter(false);
+ }
+ return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
+ if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) {
+ mUI.pressShutter(false);
+ }
return true;
case KeyEvent.KEYCODE_CAMERA:
mUI.pressShutter(false);
return true;
case KeyEvent.KEYCODE_POWER:
- if (CameraActivity.mPowerShutter) {
- onShutterButtonClick();
+ if (CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) {
+ mUI.pressShutter(false);
}
return true;
}