From 335b416fbb319eeaba23e4054e3f98adcc90c99f Mon Sep 17 00:00:00 2001 From: Dave Daynard Date: Tue, 2 Sep 2014 19:14:08 -0400 Subject: Camera2: Headset shutter mode Use play button on headset to take a picture/video/panorama Use media next/previous for zoom Change-Id: I25c22646b041e5e0941fbe361eccfe77a2a1e42f --- src/com/android/camera/PhotoModule.java | 5 +++++ src/com/android/camera/VideoModule.java | 6 ++++++ src/com/android/camera/WideAnglePanoramaModule.java | 5 +++++ 3 files changed, 16 insertions(+) diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 8865d54cd..8d919b4e3 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -2481,6 +2481,7 @@ public class PhotoModule } switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: + case KeyEvent.KEYCODE_MEDIA_NEXT: if (mFirstTimeInitialized && (mUI.mMenuInitialized)) { if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { onShutterButtonFocus(true); @@ -2490,6 +2491,7 @@ public class PhotoModule } return true; case KeyEvent.KEYCODE_VOLUME_DOWN: + case KeyEvent.KEYCODE_MEDIA_PREVIOUS: if (mFirstTimeInitialized && (mUI.mMenuInitialized)) { if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { onShutterButtonFocus(true); @@ -2507,6 +2509,7 @@ public class PhotoModule } return false; case KeyEvent.KEYCODE_CAMERA: + case KeyEvent.KEYCODE_HEADSETHOOK: if (mFirstTimeInitialized && event.getRepeatCount() == 0) { onShutterButtonClick(); } @@ -2537,6 +2540,8 @@ public class PhotoModule switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: + case KeyEvent.KEYCODE_MEDIA_NEXT: + case KeyEvent.KEYCODE_MEDIA_PREVIOUS: if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey() && mFirstTimeInitialized) { onShutterButtonClick(); diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index e6bf16d17..038d0d60a 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -1207,6 +1207,7 @@ public class VideoModule implements CameraModule, switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: + case KeyEvent.KEYCODE_MEDIA_NEXT: if (event.getRepeatCount() == 0 && !CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { mUI.clickShutter(); @@ -1215,6 +1216,7 @@ public class VideoModule implements CameraModule, } return true; case KeyEvent.KEYCODE_VOLUME_DOWN: + case KeyEvent.KEYCODE_MEDIA_PREVIOUS: if (event.getRepeatCount() == 0 && !CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { mUI.clickShutter(); @@ -1223,6 +1225,7 @@ public class VideoModule implements CameraModule, } return true; case KeyEvent.KEYCODE_CAMERA: + case KeyEvent.KEYCODE_HEADSETHOOK: if (event.getRepeatCount() == 0) { mUI.clickShutter(); } @@ -1251,16 +1254,19 @@ public class VideoModule implements CameraModule, public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: + case KeyEvent.KEYCODE_MEDIA_NEXT: if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { mUI.pressShutter(false); } return true; case KeyEvent.KEYCODE_VOLUME_DOWN: + case KeyEvent.KEYCODE_MEDIA_PREVIOUS: if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { mUI.pressShutter(false); } return true; case KeyEvent.KEYCODE_CAMERA: + case KeyEvent.KEYCODE_HEADSETHOOK: mUI.pressShutter(false); return true; case KeyEvent.KEYCODE_POWER: diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index e9090b72e..0b2880c37 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -1184,8 +1184,11 @@ public class WideAnglePanoramaModule switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: + case KeyEvent.KEYCODE_MEDIA_NEXT: + case KeyEvent.KEYCODE_MEDIA_PREVIOUS: return true; case KeyEvent.KEYCODE_CAMERA: + case KeyEvent.KEYCODE_HEADSETHOOK: if (event.getRepeatCount() == 0) { onShutterButtonClick(); } @@ -1201,6 +1204,8 @@ public class WideAnglePanoramaModule switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: + case KeyEvent.KEYCODE_MEDIA_NEXT: + case KeyEvent.KEYCODE_MEDIA_PREVIOUS: if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { onShutterButtonClick(); } -- cgit v1.2.3