From 262dadf8708b5ecc80bccee14adf587f2fb2e4d5 Mon Sep 17 00:00:00 2001 From: Yohei Yukawa Date: Thu, 24 Aug 2017 10:51:00 -0700 Subject: [PATCH] New haptic feedback constants This CL introduces several haptic feedback constants that are ready to be exposed to developers. Test: checkbuild Fixes: 64537070 Change-Id: If54d5bc6cab4e2c405615b7a40648c74a1097ea3 --- api/current.txt | 4 ++++ api/system-current.txt | 4 ++++ api/test-current.txt | 4 ++++ .../android/view/HapticFeedbackConstants.java | 18 +++++++++++++----- .../server/policy/PhoneWindowManager.java | 10 ++++++---- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/api/current.txt b/api/current.txt index aec89e3f6f28e..5bc0d9753f28a 100644 --- a/api/current.txt +++ b/api/current.txt @@ -44166,9 +44166,13 @@ package android.view { field public static final int CONTEXT_CLICK = 6; // 0x6 field public static final int FLAG_IGNORE_GLOBAL_SETTING = 2; // 0x2 field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1 + field public static final int KEYBOARD_PRESS = 3; // 0x3 + field public static final int KEYBOARD_RELEASE = 7; // 0x7 field public static final int KEYBOARD_TAP = 3; // 0x3 field public static final int LONG_PRESS = 0; // 0x0 + field public static final int TEXT_HANDLE_MOVE = 9; // 0x9 field public static final int VIRTUAL_KEY = 1; // 0x1 + field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8 } public class InflateException extends java.lang.RuntimeException { diff --git a/api/system-current.txt b/api/system-current.txt index 4e8f843a53085..50ed4b22498ca 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -47751,9 +47751,13 @@ package android.view { field public static final int CONTEXT_CLICK = 6; // 0x6 field public static final int FLAG_IGNORE_GLOBAL_SETTING = 2; // 0x2 field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1 + field public static final int KEYBOARD_PRESS = 3; // 0x3 + field public static final int KEYBOARD_RELEASE = 7; // 0x7 field public static final int KEYBOARD_TAP = 3; // 0x3 field public static final int LONG_PRESS = 0; // 0x0 + field public static final int TEXT_HANDLE_MOVE = 9; // 0x9 field public static final int VIRTUAL_KEY = 1; // 0x1 + field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8 } public class InflateException extends java.lang.RuntimeException { diff --git a/api/test-current.txt b/api/test-current.txt index 6ac579036339b..c5c9e5e4c99a4 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -44597,9 +44597,13 @@ package android.view { field public static final int CONTEXT_CLICK = 6; // 0x6 field public static final int FLAG_IGNORE_GLOBAL_SETTING = 2; // 0x2 field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1 + field public static final int KEYBOARD_PRESS = 3; // 0x3 + field public static final int KEYBOARD_RELEASE = 7; // 0x7 field public static final int KEYBOARD_TAP = 3; // 0x3 field public static final int LONG_PRESS = 0; // 0x0 + field public static final int TEXT_HANDLE_MOVE = 9; // 0x9 field public static final int VIRTUAL_KEY = 1; // 0x1 + field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8 } public class InflateException extends java.lang.RuntimeException { diff --git a/core/java/android/view/HapticFeedbackConstants.java b/core/java/android/view/HapticFeedbackConstants.java index c43132388b565..b14792842be61 100644 --- a/core/java/android/view/HapticFeedbackConstants.java +++ b/core/java/android/view/HapticFeedbackConstants.java @@ -57,16 +57,24 @@ public class HapticFeedbackConstants { public static final int CONTEXT_CLICK = 6; /** - * The user has released a virtual or software keyboard key. - * @hide + * The user has pressed a virtual or software keyboard key. */ - public static final int VIRTUAL_KEY_RELEASE = 7; + public static final int KEYBOARD_PRESS = KEYBOARD_TAP; + + /** + * The user has released a virtual keyboard key. + */ + public static final int KEYBOARD_RELEASE = 7; + + /** + * The user has released a virtual key. + */ + public static final int VIRTUAL_KEY_RELEASE = 8; /** * The user has performed a selection/insertion handle move on text field. - * @hide */ - public static final int TEXT_HANDLE_MOVE = 8; + public static final int TEXT_HANDLE_MOVE = 9; /** * The phone has booted with safe mode enabled. diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index ae305658cad2b..f67ebe4d76348 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -7793,13 +7793,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { private VibrationEffect getVibrationEffect(int effectId) { long[] pattern; switch (effectId) { - case HapticFeedbackConstants.VIRTUAL_KEY: - return VibrationEffect.get(VibrationEffect.EFFECT_CLICK); case HapticFeedbackConstants.LONG_PRESS: pattern = mLongPressVibePattern; break; - case HapticFeedbackConstants.KEYBOARD_TAP: - return VibrationEffect.get(VibrationEffect.EFFECT_CLICK); case HapticFeedbackConstants.CLOCK_TICK: return VibrationEffect.get(VibrationEffect.EFFECT_TICK); case HapticFeedbackConstants.CALENDAR_DATE: @@ -7810,8 +7806,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { break; case HapticFeedbackConstants.CONTEXT_CLICK: return VibrationEffect.get(VibrationEffect.EFFECT_TICK); + case HapticFeedbackConstants.VIRTUAL_KEY: + return VibrationEffect.get(VibrationEffect.EFFECT_CLICK); case HapticFeedbackConstants.VIRTUAL_KEY_RELEASE: return VibrationEffect.get(VibrationEffect.EFFECT_TICK); + case HapticFeedbackConstants.KEYBOARD_PRESS: // == HapticFeedbackConstants.KEYBOARD_TAP + return VibrationEffect.get(VibrationEffect.EFFECT_CLICK); + case HapticFeedbackConstants.KEYBOARD_RELEASE: + return VibrationEffect.get(VibrationEffect.EFFECT_TICK); case HapticFeedbackConstants.TEXT_HANDLE_MOVE: return VibrationEffect.get(VibrationEffect.EFFECT_TICK); default: