diff --git a/app/src/main/java/com/darkeyes/tricks/Main.java b/app/src/main/java/com/darkeyes/tricks/Main.java index 60d040f..dfcb1d2 100644 --- a/app/src/main/java/com/darkeyes/tricks/Main.java +++ b/app/src/main/java/com/darkeyes/tricks/Main.java @@ -97,7 +97,8 @@ public class Main implements IXposedHookZygoteInit, IXposedHookLoadPackage { private PowerManager.WakeLock mWakeUpWakeLock; private int MSG_WAKE_UP = 100; private ArrayMap mLastTimestamps = new ArrayMap<>(); - private long mDownTime = 0L; + private boolean mVolumeUp = false; + private boolean mVolumeDown = false; private boolean mCameraGesture; private GestureDetector mDoubleTapGesture; private Object mNotificationPanelViewController; @@ -1116,12 +1117,25 @@ protected void beforeHookedMethod(MethodHookParam param) { } } - if (keyCode == KeyEvent.KEYCODE_POWER && mPowerManager.isInteractive()) { - mDownTime = event.getEventTime(); + if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { + if (event.getAction() == KeyEvent.ACTION_DOWN && mPowerManager.isInteractive()) { + mVolumeUp = true; + } + else { + mVolumeUp = false; + } + } + + if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { + if (event.getAction() == KeyEvent.ACTION_DOWN && mPowerManager.isInteractive()) { + mVolumeDown = true; + } + else { + mVolumeDown = false; + } } - if (keyCode == KeyEvent.KEYCODE_POWER && ((!mPowerManager.isInteractive() && - (event.getEventTime() - mDownTime > 300)) || mTorchEnabled) && event.getSource() != InputDevice.SOURCE_UNKNOWN) { + if (keyCode == KeyEvent.KEYCODE_POWER && mVolumeUp == false && mVolumeDown == false && event.getSource() != InputDevice.SOURCE_UNKNOWN) { if (mSensorManager == null) mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE); if (mProximitySensor == null) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 56739b4..49750a7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -28,7 +28,7 @@ Volume keys skip track Skip track by long pressing volume keys while screen is off Power key toggles torch - Toggle torch by long pressing power key while screen is off + Toggle torch by long pressing power key Prevent accidental wake up Check the proximity sensor before waking up the phone Less frequent notifications (sound and vibration)