sanders: LineageActions: Haptic improvements

This commit is contained in:
jhenrique09
2017-11-21 20:07:00 -02:00
committed by therootlord
parent 552aa26a6c
commit c279e24bd6

View File

@@ -86,7 +86,6 @@ public class KeyHandler implements DeviceKeyHandler {
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
.build();
private static final long[] LONG_PRESS_VIBRATION_PATTERN = new long[] {0, 25, 10};
private final Context mContext;
private final PowerManager mPowerManager;
WakeLock mProximityWakeLock;
@@ -530,11 +529,12 @@ public class KeyHandler implements DeviceKeyHandler {
if (isDoubleTap && action != ACTION_CAMERA && action != ACTION_FLASHLIGHT) {
isHapticFeedbackEnabledOnFP = false;
}
if (isHapticFeedbackEnabledOnFP && (action == ACTION_CAMERA || action == ACTION_FLASHLIGHT)) {
vibrate(action == ACTION_CAMERA ? 500 : 250);
}
if (isHapticFeedbackEnabledOnFP && action == ACTION_POWER) {
doHapticFeedbackFP(false);
if (isHapticFeedbackEnabledOnFP){
if (action == ACTION_CAMERA || action == ACTION_FLASHLIGHT) {
vibrate(action == ACTION_CAMERA ? 500 : 250);
}else if (action != ACTION_VOICE_ASSISTANT) {
doHapticFeedbackFP(false);
}
}
switch (action) {
case ACTION_HOME:
@@ -593,9 +593,6 @@ public class KeyHandler implements DeviceKeyHandler {
}
break;
}
if (isHapticFeedbackEnabledOnFP && action != ACTION_VOICE_ASSISTANT && action != ACTION_CAMERA && action != ACTION_FLASHLIGHT && action != ACTION_POWER) { // prevent double vibration
doHapticFeedbackFP(false);
}
}
private void vibrate(int intensity) {
@@ -804,12 +801,16 @@ public class KeyHandler implements DeviceKeyHandler {
}
if (isHapticFeedbackEnabledOnFP()) {
int owningUid;
String owningPackage;
owningUid = android.os.Process.myUid();
owningPackage = mContext.getOpPackageName();
VibrationEffect effect = longpress ? VibrationEffect.createWaveform(LONG_PRESS_VIBRATION_PATTERN, -1) : VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
mVibrator.vibrate(owningUid, owningPackage, effect, VIBRATION_ATTRIBUTES);
mHandler.post(new Runnable() {
public void run() {
int owningUid;
String owningPackage;
owningUid = android.os.Process.myUid();
owningPackage = mContext.getOpPackageName();
VibrationEffect effect = VibrationEffect.createOneShot(longpress ? 50 : 40, VibrationEffect.DEFAULT_AMPLITUDE);
mVibrator.vibrate(owningUid, owningPackage, effect, VIBRATION_ATTRIBUTES);
}
});
}
}