abouttreesummaryrefslogcommitdiff
path: root/srcs
diff options
context:
space:
mode:
Diffstat (limited to 'srcs')
-rw-r--r--srcs/juloo.keyboard2/Config.java9
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java2
-rw-r--r--srcs/juloo.keyboard2/VibratorCompat.java55
3 files changed, 18 insertions, 48 deletions
diff --git a/srcs/juloo.keyboard2/Config.java b/srcs/juloo.keyboard2/Config.java
index 1b6a76a..53360de 100644
--- a/srcs/juloo.keyboard2/Config.java
+++ b/srcs/juloo.keyboard2/Config.java
@@ -35,7 +35,10 @@ final class Config
public boolean number_row;
public float swipe_dist_px;
public float slide_step_px;
- public VibratorCompat.VibrationBehavior vibration_behavior;
+ // Let the system handle vibration when false.
+ public boolean vibrate_custom;
+ // Control the vibration if [vibrate_custom] is true.
+ public long vibrate_duration;
public long longPressTimeout;
public long longPressInterval;
public float margin_bottom;
@@ -130,8 +133,8 @@ final class Config
float swipe_dist_value = Float.valueOf(_prefs.getString("swipe_dist", "15"));
swipe_dist_px = swipe_dist_value / 25.f * swipe_scaling;
slide_step_px = swipe_dist_px / 4.f;
- vibration_behavior =
- VibratorCompat.VibrationBehavior.of_string(_prefs.getString("vibration_behavior", "system"));
+ vibrate_custom = _prefs.getBoolean("vibrate_custom", false);
+ vibrate_duration = _prefs.getInt("vibrate_duration", 20);
longPressTimeout = _prefs.getInt("longpress_timeout", 600);
longPressInterval = _prefs.getInt("longpress_interval", 65);
margin_bottom = get_dip_pref_oriented(dm, "margin_bottom", 7, 3);
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index 3ef9957..205bbae 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -234,7 +234,7 @@ public class Keyboard2View extends View
private void vibrate()
{
- VibratorCompat.vibrate(this, _config.vibration_behavior);
+ VibratorCompat.vibrate(this, _config);
}
@Override
diff --git a/srcs/juloo.keyboard2/VibratorCompat.java b/srcs/juloo.keyboard2/VibratorCompat.java
index 2795c71..4a9debe 100644
--- a/srcs/juloo.keyboard2/VibratorCompat.java
+++ b/srcs/juloo.keyboard2/VibratorCompat.java
@@ -8,32 +8,24 @@ import android.view.View;
public final class VibratorCompat
{
- public static void vibrate(View v, VibrationBehavior b)
+ public static void vibrate(View v, Config config)
{
- switch (b)
+ if (config.vibrate_custom)
{
- case DISABLED:
- break;
- case SYSTEM:
- if (VERSION.SDK_INT >= 8)
- v.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP,
- HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
- break;
- case STRONG:
- vibrator_vibrate(v, 90);
- break;
- case MEDIUM:
- vibrator_vibrate(v, 45);
- break;
- case LIGHT:
- vibrator_vibrate(v, 20);
- break;
+ if (config.vibrate_duration > 0)
+ vibrator_vibrate(v, config.vibrate_duration);
+ }
+ else
+ {
+ if (VERSION.SDK_INT >= 8)
+ v.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP,
+ HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
}
}
/** Use the older [Vibrator] when the newer API is not available or the user
wants more control. */
- static void vibrator_vibrate(View v, int duration)
+ static void vibrator_vibrate(View v, long duration)
{
try
{
@@ -53,29 +45,4 @@ public final class VibratorCompat
}
return vibrator_service;
}
-
- public static enum VibrationBehavior
- {
- DISABLED,
- SYSTEM,
- STRONG,
- MEDIUM,
- LIGHT;
-
- VibrationBehavior() {}
-
- /** Defaults [SYSTEM] for unrecognized strings. */
- public static VibrationBehavior of_string(String s)
- {
- switch (s)
- {
- case "disabled": return DISABLED;
- case "system": return SYSTEM;
- case "strong": return STRONG;
- case "medium": return MEDIUM;
- case "light": return LIGHT;
- default: return SYSTEM;
- }
- }
- }
}