summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2014-05-27 15:12:00 -0700
committerSteve Kondik <shade@chemlab.org>2014-05-27 16:06:37 -0700
commit3607bd1039f6dbb20a9280c7161a1a5302060506 (patch)
treeb559448adc53b7b7b9549891ce7f184314bd167f /src
parent635b4165c743dd7d67c0434a9042405858753566 (diff)
downloadandroid_packages_apps_AudioFX-3607bd1039f6dbb20a9280c7161a1a5302060506.tar.gz
android_packages_apps_AudioFX-3607bd1039f6dbb20a9280c7161a1a5302060506.tar.bz2
android_packages_apps_AudioFX-3607bd1039f6dbb20a9280c7161a1a5302060506.zip
audiofx: Add a preset for the speaker and enable it by default
* Roll off the highs and lows to compensate for the Bacon's speaker * We should wrap this in a device-specific flag (TODO) Change-Id: I3fd65f73aeb997eb3487e319b2c36a81a91d30fb
Diffstat (limited to 'src')
-rw-r--r--src/org/cyanogenmod/audiofx/ActivityMusic.java21
-rw-r--r--src/org/cyanogenmod/audiofx/HeadsetService.java19
2 files changed, 33 insertions, 7 deletions
diff --git a/src/org/cyanogenmod/audiofx/ActivityMusic.java b/src/org/cyanogenmod/audiofx/ActivityMusic.java
index aa3740b..8a33199 100644
--- a/src/org/cyanogenmod/audiofx/ActivityMusic.java
+++ b/src/org/cyanogenmod/audiofx/ActivityMusic.java
@@ -286,15 +286,16 @@ public class ActivityMusic extends Activity {
// setup equalizer presets
final int numPresets = Integer.parseInt(getSharedPreferences("global", 0)
.getString("equalizer.number_of_presets", "0"));
- mEQPresetNames = new String[numPresets + 2];
+ mEQPresetNames = new String[numPresets + 3];
String[] presetNames = getSharedPreferences("global", 0).getString("equalizer.preset_names", "").split("\\|");
for (short i = 0; i < numPresets; i++) {
mEQPresetNames[i] = localizePresetName(presetNames[i]);
}
mEQPresetNames[numPresets] = getString(R.string.ci_extreme);
- mEQPresetNames[numPresets + 1] = getString(R.string.user);
- mEQCustomPresetPosition = numPresets + 1;
+ mEQPresetNames[numPresets + 1] = getString(R.string.small_speakers);
+ mEQPresetNames[numPresets + 2] = getString(R.string.user);
+ mEQCustomPresetPosition = numPresets + 2;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.equalizer_presets,
mEQPresetNames);
@@ -549,8 +550,10 @@ public class ActivityMusic extends Activity {
getActionBar().setSelectedNavigationItem(getCurrentDeviceIndex());
}
- final boolean isEnabled = getPrefs().getBoolean("audiofx.global.enable", false);
- mKnobsAvailable = !mCurrentDevice.equals("speaker");
+ boolean isSpeaker = mCurrentDevice.equals("speaker");
+
+ final boolean isEnabled = getPrefs().getBoolean("audiofx.global.enable", isSpeaker);
+ mKnobsAvailable = !isSpeaker;
mToggleSwitch.setChecked(isEnabled);
@@ -567,7 +570,13 @@ public class ActivityMusic extends Activity {
mBassKnob.setVisibility(View.GONE);
}
if (mEqualizerSupported) {
- mEQPreset = Integer.valueOf(getPrefs().getString("audiofx.eq.preset", "3"));
+ String preset;
+ if (isSpeaker) {
+ preset = String.valueOf(mNumberEqualizerBands + 2);
+ } else {
+ preset = "3";
+ }
+ mEQPreset = Integer.valueOf(getPrefs().getString("audiofx.eq.preset", preset));
mEqGallery.setEnabled(isEnabled);
mEqGallery.setSelection(mEQPreset);
}
diff --git a/src/org/cyanogenmod/audiofx/HeadsetService.java b/src/org/cyanogenmod/audiofx/HeadsetService.java
index c783244..c8854f9 100644
--- a/src/org/cyanogenmod/audiofx/HeadsetService.java
+++ b/src/org/cyanogenmod/audiofx/HeadsetService.java
@@ -460,6 +460,23 @@ public class HeadsetService extends Service {
}
}
prefs.edit().putString("equalizer.preset." + numPresets, ciExtremeBuilder.toString()).apply();
+
+ // add small-speaker
+ StringBuilder ssBuilder = new StringBuilder("-170;270;50;-220;200");
+ if (numBands > 5) {
+ int extraBands = numBands - 5;
+ for (int i = 0; i < extraBands; i++) {
+ ssBuilder.insert(0, "0;");
+ }
+ }
+ prefs.edit().putString("equalizer.preset." + (numPresets + 1), ssBuilder.toString()).apply();
+
+ // Enable for the speaker by default
+ if (!getSharedPrefsFile("speaker").exists()) {
+ SharedPreferences spk = getSharedPreferences("speaker", 0);
+ spk.edit().putBoolean("audiofx.global.enable", true).apply();
+ spk.edit().putString("audiofx.eq.preset", String.valueOf(numPresets + 1)).apply();
+ }
}
/**
@@ -501,7 +518,7 @@ public class HeadsetService extends Service {
try {
session.enableEqualizer(globalEnabled);
- final int customPresetPos = session.getNumEqualizerPresets() + 1;
+ final int customPresetPos = session.getNumEqualizerPresets() + 2;
final int preset = Integer.valueOf(prefs.getString("audiofx.eq.preset",
String.valueOf(customPresetPos)));
final int bands = session.getNumEqualizerBands();