summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author jiabin <jiabin@google.com> 2018-11-02 16:20:19 -0700
committer Jiabin Huang <jiabin@google.com> 2018-12-12 00:07:47 +0000
commit66f9e72e276d9f9a11f63d8e4c6ed22c7fc5958f (patch)
treefad85f5849c956663183570edbdc469cdde12eeb
parent01fb624e0921b0622b9b33339adad9f205714cef (diff)
Add API for querying haptic playback support.
Bug: 111454766 Test: Manually test Change-Id: Ic6a0aba877a417faf8ff0c9f2e7b0ea99e3d7fbf
-rw-r--r--api/current.txt1
-rw-r--r--core/jni/android_media_AudioSystem.cpp7
-rw-r--r--media/java/android/media/AudioManager.java9
-rw-r--r--media/java/android/media/AudioSystem.java5
4 files changed, 22 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index 3967896d76fe..a21bc225eef0 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -23010,6 +23010,7 @@ package android.media {
method public deprecated boolean isBluetoothA2dpOn();
method public boolean isBluetoothScoAvailableOffCall();
method public boolean isBluetoothScoOn();
+ method public static boolean isHapticPlaybackSupported();
method public boolean isMicrophoneMute();
method public boolean isMusicActive();
method public static boolean isOffloadedPlaybackSupported(android.media.AudioFormat);
diff --git a/core/jni/android_media_AudioSystem.cpp b/core/jni/android_media_AudioSystem.cpp
index adab8e2bae39..283eb035c6f7 100644
--- a/core/jni/android_media_AudioSystem.cpp
+++ b/core/jni/android_media_AudioSystem.cpp
@@ -2061,6 +2061,12 @@ android_media_AudioSystem_setA11yServicesUids(JNIEnv *env, jobject thiz, jintArr
return (jint)nativeToJavaStatus(status);
}
+static jboolean
+android_media_AudioSystem_isHapticPlaybackSupported(JNIEnv *env, jobject thiz)
+{
+ return AudioSystem::isHapticPlaybackSupported();
+}
+
// ----------------------------------------------------------------------------
static const JNINativeMethod gMethods[] = {
@@ -2123,6 +2129,7 @@ static const JNINativeMethod gMethods[] = {
{"setSurroundFormatEnabled", "(IZ)I", (void *)android_media_AudioSystem_setSurroundFormatEnabled},
{"setAssistantUid", "(I)I", (void *)android_media_AudioSystem_setAssistantUid},
{"setA11yServicesUids", "([I)I", (void *)android_media_AudioSystem_setA11yServicesUids},
+ {"isHapticPlaybackSupported", "()Z", (void *)android_media_AudioSystem_isHapticPlaybackSupported},
};
static const JNINativeMethod gEventHandlerMethods[] = {
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index d10900e5d160..da52a268e384 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -5152,6 +5152,15 @@ public class AudioManager {
return reportedSurroundFormats;
}
+ /**
+ * Return if audio haptic coupled playback is supported or not.
+ *
+ * @return whether audio haptic playback supported.
+ */
+ public static boolean isHapticPlaybackSupported() {
+ return AudioSystem.isHapticPlaybackSupported();
+ }
+
//---------------------------------------------------------
// Inner classes
diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java
index 082a375470ee..36f635a8e572 100644
--- a/media/java/android/media/AudioSystem.java
+++ b/media/java/android/media/AudioSystem.java
@@ -933,6 +933,11 @@ public class AudioSystem
*/
public static native int setA11yServicesUids(int[] uids);
+ /**
+ * @see AudioManager#isHapticPlaybackSupported()
+ */
+ public static native boolean isHapticPlaybackSupported();
+
// Items shared with audio service
/**