diff options
author | Michael Bestas <mikeioannina@gmail.com> | 2014-01-28 00:44:30 +0200 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-11-02 12:22:26 -0700 |
commit | 1fd7ce85ce5e60f4d11b3a7ef3c2d1bc82448488 (patch) | |
tree | 58b64eaa71ef57cb35416df66c77bba985d0a985 /src/com | |
parent | 82d5347870e831cbfca5b8329776a091fcc43eeb (diff) | |
download | android_packages_apps_Snap-1fd7ce85ce5e60f4d11b3a7ef3c2d1bc82448488.tar.gz android_packages_apps_Snap-1fd7ce85ce5e60f4d11b3a7ef3c2d1bc82448488.tar.bz2 android_packages_apps_Snap-1fd7ce85ce5e60f4d11b3a7ef3c2d1bc82448488.zip |
Camera: Handle keys only while in app
Thanks to Lars Greiss (SlimRoms)
Change-Id: I63f757d25260fba4683f494f8b4daf178a2b4e13
Diffstat (limited to 'src/com')
-rwxr-xr-x | src/com/android/camera/CameraActivity.java | 11 | ||||
-rwxr-xr-x | src/com/android/camera/PhotoModule.java | 17 | ||||
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaModule.java | 8 |
3 files changed, 25 insertions, 11 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index 4522720a7..52fd35896 100755 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -212,6 +212,7 @@ public class CameraActivity extends Activity private final Object mStorageSpaceLock = new Object(); private long mStorageSpaceBytes = Storage.LOW_STORAGE_THRESHOLD_BYTES; private boolean mSecureCamera; + private boolean mInCameraApp = true; // Keep track of powershutter state public static boolean mPowerShutter = false; private int mLastRawOrientation; @@ -1933,7 +1934,7 @@ public class CameraActivity extends Activity if (!CameraUtil.hasCameraKey()) { mPowerShutter = val.equals(CameraSettings.VALUE_ON); } - if (mPowerShutter /*TODO: && mShowCameraAppView*/) { + if (mPowerShutter && mInCameraApp) { getWindow().addPrivateFlags( WindowManager.LayoutParams.PRIVATE_FLAG_PREVENT_POWER_KEY); } else { @@ -2000,6 +2001,10 @@ public class CameraActivity extends Activity return mForceReleaseCamera; } + public boolean isInCameraApp() { + return mInCameraApp; + } + @Override public void onModuleSelected(int moduleIndex) { boolean cam2on = mSettingsManager.isCamera2On(); @@ -2267,6 +2272,10 @@ public class CameraActivity extends Activity */ private void setPreviewControlsVisibility(boolean showControls) { mCurrentModule.onPreviewFocusChanged(showControls); + + // controls are only shown when the camera app is active + // so we can assume to fetch this information from here + mInCameraApp = showControls; } // Accessor methods for getting latency times used in performance testing diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 5b8548bb3..dd97e7435 100755 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -2751,13 +2751,14 @@ public class PhotoModule @Override public boolean onKeyDown(int keyCode, KeyEvent event) { - /*TODO: if (!mActivity.mShowCameraAppView) { + // Do not handle any key if the activity is + // not in active camera/video mode + if (!mActivity.isInCameraApp()) { return false; - }*/ + } switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: - if (/*TODO: mActivity.isInCameraApp() &&*/ mFirstTimeInitialized - && (mUI.mMenuInitialized)) { + if (mFirstTimeInitialized && (mUI.mMenuInitialized)) { if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { onShutterButtonFocus(true); } else { @@ -2766,8 +2767,7 @@ public class PhotoModule } return true; case KeyEvent.KEYCODE_VOLUME_DOWN: - if (/*TODO: mActivity.isInCameraApp() &&*/ mFirstTimeInitialized - && (mUI.mMenuInitialized)) { + if (mFirstTimeInitialized && (mUI.mMenuInitialized)) { if (!CameraActivity.mPowerShutter && !CameraUtil.hasCameraKey()) { onShutterButtonFocus(true); } else { @@ -2776,7 +2776,7 @@ public class PhotoModule } return true; case KeyEvent.KEYCODE_FOCUS: - if (/*TODO: mActivity.isInCameraApp() &&*/ mFirstTimeInitialized) { + if (mFirstTimeInitialized) { if (event.getRepeatCount() == 0) { onShutterButtonFocus(true); } @@ -2811,9 +2811,6 @@ public class PhotoModule @Override public boolean onKeyUp(int keyCode, KeyEvent event) { - /*TODO: if (!mActivity.mShowCameraAppView) { - return false; - }*/ switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index b88ec9e09..2580c5a0d 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -1235,6 +1235,14 @@ public class WideAnglePanoramaModule @Override public boolean onKeyDown(int keyCode, KeyEvent event) { + // Do not handle any key if the activity is paused + // or not in active camera/video mode + if (mPaused) { + return true; + } else if (!mActivity.isInCameraApp()) { + return false; + } + switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: |