diff options
| author | Mister Oyster <oysterized@gmail.com> | 2017-01-07 15:53:05 +0100 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-01-07 15:53:05 +0100 |
| commit | acac3b75213642021c76c336cafc8ad938dd86a8 (patch) | |
| tree | 45f6bb49259612370ef1b81cbde6ba864b9ec6a3 | |
| parent | 5a3132fb3de9caebcd7df8857eb9bbadfa85eb6a (diff) | |
keyhandler: uncomment torch/camera gestures code (haptic feedback for offscreen gestures is still buggy)
| -rw-r--r-- | keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java | 110 |
1 files changed, 55 insertions, 55 deletions
diff --git a/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java b/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java index d4dcfe8..6755ea6 100644 --- a/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java +++ b/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java @@ -28,9 +28,9 @@ import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; -//import android.hardware.camera2.CameraManager; -//import android.hardware.camera2.CameraCharacteristics; -//import android.hardware.camera2.CameraAccessException; +import android.hardware.camera2.CameraManager; +import android.hardware.camera2.CameraCharacteristics; +import android.hardware.camera2.CameraAccessException; import android.media.session.MediaSessionLegacyHelper; import android.net.Uri; import android.os.Handler; @@ -111,8 +111,8 @@ public class KeyHandler implements DeviceKeyHandler { private PackageManager mPackageManager; private Sensor mProximitySensor; private Vibrator mVibrator; - //private CameraManager mCameraManager; - //private String mRearCameraId; + private CameraManager mCameraManager; + private String mRearCameraId; private WakeLock mProximityWakeLock; private WakeLock mGestureWakeLock; private int mProximityTimeOut; @@ -121,8 +121,8 @@ public class KeyHandler implements DeviceKeyHandler { private Context cmaContext = null; private boolean isLastPressHomeButton = false; - //private boolean mTorchEnabled; - //private boolean mNotificationSliderVibrate; + private boolean mTorchEnabled; + private boolean mNotificationSliderVibrate; public KeyHandler(Context context) { mContext = context; @@ -157,43 +157,43 @@ public class KeyHandler implements DeviceKeyHandler { mVibrator = null; } -// mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE); -// mCameraManager.registerTorchCallback(new MyTorchCallback(), mEventHandler); -// } -// -// private class MyTorchCallback extends CameraManager.TorchCallback { -// @Override -// public void onTorchModeChanged(String cameraId, boolean enabled) { -// if (!cameraId.equals(mRearCameraId)) -// return; -// mTorchEnabled = enabled; -// } -// -// @Override -// public void onTorchModeUnavailable(String cameraId) { -// if (!cameraId.equals(mRearCameraId)) -// return; -// mTorchEnabled = false; -// } -// } -// -// private String getRearCameraId() { -// if (mRearCameraId == null) { -// try { -// for (final String cameraId : mCameraManager.getCameraIdList()) { -// CameraCharacteristics characteristics = -// mCameraManager.getCameraCharacteristics(cameraId); -// int cOrientation = characteristics.get(CameraCharacteristics.LENS_FACING); -// if (cOrientation == CameraCharacteristics.LENS_FACING_BACK) { -// mRearCameraId = cameraId; -// break; -// } -// } -// } catch (CameraAccessException e) { -// // Ignore -// } -// } -// return mRearCameraId; + mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE); + mCameraManager.registerTorchCallback(new MyTorchCallback(), mEventHandler); + } + + private class MyTorchCallback extends CameraManager.TorchCallback { + @Override + public void onTorchModeChanged(String cameraId, boolean enabled) { + if (!cameraId.equals(mRearCameraId)) + return; + mTorchEnabled = enabled; + } + + @Override + public void onTorchModeUnavailable(String cameraId) { + if (!cameraId.equals(mRearCameraId)) + return; + mTorchEnabled = false; + } + } + + private String getRearCameraId() { + if (mRearCameraId == null) { + try { + for (final String cameraId : mCameraManager.getCameraIdList()) { + CameraCharacteristics characteristics = + mCameraManager.getCameraCharacteristics(cameraId); + int cOrientation = characteristics.get(CameraCharacteristics.LENS_FACING); + if (cOrientation == CameraCharacteristics.LENS_FACING_BACK) { + mRearCameraId = cameraId; + break; + } + } + } catch (CameraAccessException e) { + // Ignore + } + } + return mRearCameraId; } private void ensureKeyguardManager() { @@ -241,17 +241,17 @@ public class KeyHandler implements DeviceKeyHandler { dispatchMediaKeyWithWakeLockToMediaSession(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE); break; case "flashlight": - //String rearCameraId = getRearCameraId(); - //if (rearCameraId != null) { - // mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); - // try { - // mCameraManager.setTorchMode(rearCameraId, !mTorchEnabled); - // mTorchEnabled = !mTorchEnabled; - // } catch (CameraAccessException e) { - // // Ignore - // } - // //doHapticFeedback(); - //} + String rearCameraId = getRearCameraId(); + if (rearCameraId != null) { + mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); + try { + mCameraManager.setTorchMode(rearCameraId, !mTorchEnabled); + mTorchEnabled = !mTorchEnabled; + } catch (CameraAccessException e) { + // Ignore + } + //doHapticFeedback(); + } break; case "prev": dispatchMediaKeyWithWakeLockToMediaSession(KeyEvent.KEYCODE_MEDIA_PREVIOUS); |
