summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2016-07-11 18:00:54 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2016-07-12 01:14:29 +0000
commit4fb8174a191b5a33f18b3d63c79423cd229bc559 (patch)
tree4c7185b2d73b3b003bc7621d9de8b066cb8b99c1
parent8ca88028808d9c290106d6c74058292cf7afb8db (diff)
downloadMusicFX-nougat-mr1.4-release.tar.gz
Fix UI behavior for virtualizer effectandroid-cts_7.1_r1android-cts-7.1_r9android-cts-7.1_r8android-cts-7.1_r7android-cts-7.1_r6android-cts-7.1_r5android-cts-7.1_r4android-cts-7.1_r3android-cts-7.1_r29android-cts-7.1_r28android-cts-7.1_r27android-cts-7.1_r26android-cts-7.1_r25android-cts-7.1_r24android-cts-7.1_r23android-cts-7.1_r22android-cts-7.1_r21android-cts-7.1_r20android-cts-7.1_r2android-cts-7.1_r19android-cts-7.1_r18android-cts-7.1_r17android-cts-7.1_r16android-cts-7.1_r15android-cts-7.1_r14android-cts-7.1_r13android-cts-7.1_r12android-cts-7.1_r11android-cts-7.1_r10android-cts-7.1_r1android-7.1.2_r9android-7.1.2_r8android-7.1.2_r6android-7.1.2_r5android-7.1.2_r4android-7.1.2_r39android-7.1.2_r38android-7.1.2_r37android-7.1.2_r36android-7.1.2_r33android-7.1.2_r32android-7.1.2_r30android-7.1.2_r3android-7.1.2_r29android-7.1.2_r28android-7.1.2_r27android-7.1.2_r25android-7.1.2_r24android-7.1.2_r23android-7.1.2_r2android-7.1.2_r19android-7.1.2_r18android-7.1.2_r17android-7.1.2_r16android-7.1.2_r15android-7.1.2_r14android-7.1.2_r13android-7.1.2_r12android-7.1.2_r11android-7.1.2_r10android-7.1.2_r1android-7.1.1_r9android-7.1.1_r8android-7.1.1_r7android-7.1.1_r61android-7.1.1_r60android-7.1.1_r6android-7.1.1_r59android-7.1.1_r58android-7.1.1_r57android-7.1.1_r56android-7.1.1_r55android-7.1.1_r54android-7.1.1_r53android-7.1.1_r52android-7.1.1_r51android-7.1.1_r50android-7.1.1_r49android-7.1.1_r48android-7.1.1_r47android-7.1.1_r46android-7.1.1_r45android-7.1.1_r44android-7.1.1_r43android-7.1.1_r42android-7.1.1_r41android-7.1.1_r40android-7.1.1_r4android-7.1.1_r39android-7.1.1_r38android-7.1.1_r35android-7.1.1_r33android-7.1.1_r32android-7.1.1_r31android-7.1.1_r3android-7.1.1_r28android-7.1.1_r27android-7.1.1_r26android-7.1.1_r25android-7.1.1_r24android-7.1.1_r23android-7.1.1_r22android-7.1.1_r21android-7.1.1_r20android-7.1.1_r2android-7.1.1_r17android-7.1.1_r16android-7.1.1_r15android-7.1.1_r14android-7.1.1_r13android-7.1.1_r12android-7.1.1_r11android-7.1.1_r10android-7.1.1_r1android-7.1.0_r7android-7.1.0_r6android-7.1.0_r5android-7.1.0_r4android-7.1.0_r3android-7.1.0_r2android-7.1.0_r1nougat-mr2.3-releasenougat-mr2.2-releasenougat-mr2.1-releasenougat-mr2-security-releasenougat-mr2-releasenougat-mr2-pixel-releasenougat-mr2-devnougat-mr1.8-releasenougat-mr1.7-releasenougat-mr1.6-releasenougat-mr1.5-releasenougat-mr1.4-releasenougat-mr1.3-releasenougat-mr1.2-releasenougat-mr1.1-releasenougat-mr1-volantis-releasenougat-mr1-security-releasenougat-mr1-releasenougat-mr1-flounder-releasenougat-mr1-devnougat-mr1-cts-releasenougat-dr1-release
Set default virtualizer strength at 0 (effect is created but not applied). For "is headphone only" behavior: do not use the hardcoded GUID of the LVM implementation, query the effect to check whether the transaural mode is supported. Bug 29229872 Change-Id: I2479e9051ccad4dae9e37bf1f30cb38b15ab66cd
-rw-r--r--src/com/android/musicfx/ActivityMusic.java22
-rw-r--r--src/com/android/musicfx/ControlPanelEffect.java2
2 files changed, 20 insertions, 4 deletions
diff --git a/src/com/android/musicfx/ActivityMusic.java b/src/com/android/musicfx/ActivityMusic.java
index 328a923..8498747 100644
--- a/src/com/android/musicfx/ActivityMusic.java
+++ b/src/com/android/musicfx/ActivityMusic.java
@@ -30,9 +30,11 @@ import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.IntentFilter;
+import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.audiofx.AudioEffect;
import android.media.audiofx.AudioEffect.Descriptor;
+import android.media.audiofx.Virtualizer;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
@@ -260,9 +262,7 @@ public class ActivityMusic extends Activity implements OnSeekBarChangeListener {
if (effect.type.equals(AudioEffect.EFFECT_TYPE_VIRTUALIZER)) {
mVirtualizerSupported = true;
- if (effect.uuid.equals(UUID.fromString("1d4033c0-8557-11df-9f2d-0002a5d5c51b"))) {
- mVirtualizerIsHeadphoneOnly = true;
- }
+ mVirtualizerIsHeadphoneOnly = !isVirtualizerTransauralSupported();
} else if (effect.type.equals(AudioEffect.EFFECT_TYPE_BASS_BOOST)) {
mBassBoostSupported = true;
} else if (effect.type.equals(AudioEffect.EFFECT_TYPE_EQUALIZER)) {
@@ -805,4 +805,20 @@ public class ActivityMusic extends Activity implements OnSeekBarChangeListener {
toast.setGravity(Gravity.CENTER, toast.getXOffset() / 2, toast.getYOffset() / 2);
toast.show();
}
+
+ private static boolean isVirtualizerTransauralSupported() {
+ Virtualizer virt = null;
+ boolean transauralSupported = false;
+ try {
+ virt = new Virtualizer(0, android.media.AudioSystem.newAudioSessionId());
+ transauralSupported = virt.canVirtualize(AudioFormat.CHANNEL_OUT_STEREO,
+ Virtualizer.VIRTUALIZATION_MODE_TRANSAURAL);
+ } catch (Exception e) {
+ } finally {
+ if (virt != null) {
+ virt.release();
+ }
+ }
+ return transauralSupported;
+ }
}
diff --git a/src/com/android/musicfx/ControlPanelEffect.java b/src/com/android/musicfx/ControlPanelEffect.java
index 25845b8..e3b2e6b 100644
--- a/src/com/android/musicfx/ControlPanelEffect.java
+++ b/src/com/android/musicfx/ControlPanelEffect.java
@@ -111,7 +111,7 @@ public class ControlPanelEffect {
// Defaults
final static boolean GLOBAL_ENABLED_DEFAULT = false;
private final static boolean VIRTUALIZER_ENABLED_DEFAULT = true;
- private final static int VIRTUALIZER_STRENGTH_DEFAULT = 1000;
+ private final static int VIRTUALIZER_STRENGTH_DEFAULT = 0;
private final static boolean BASS_BOOST_ENABLED_DEFAULT = true;
private final static int BASS_BOOST_STRENGTH_DEFAULT = 667;
private final static boolean PRESET_REVERB_ENABLED_DEFAULT = false;