summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2015-08-25 10:27:56 -0700
committerRoman Birg <roman@cyngn.com>2015-08-25 10:27:56 -0700
commitb310e480eb748a947ae1cf250a768377bc2b7bf9 (patch)
tree029113748d6720836404afd3f6497fd599f0f868
parentc03e3ae825c1fb8072597b3099cf4a6641539ef4 (diff)
downloadandroid_packages_apps_AudioFX-b310e480eb748a947ae1cf250a768377bc2b7bf9.tar.gz
android_packages_apps_AudioFX-b310e480eb748a947ae1cf250a768377bc2b7bf9.tar.bz2
android_packages_apps_AudioFX-b310e480eb748a947ae1cf250a768377bc2b7bf9.zip
AudioFX: translate presets on the fly
This way they will always be up-to-date with the system locale, even if it changes. Change-Id: I32affb7baabe126e8a26e41ecbaf2bd9383c5ac8 Signed-off-by: Roman Birg <roman@cyngn.com>
-rw-r--r--AndroidManifest.xml1
-rw-r--r--src/com/cyngn/audiofx/activity/ActivityMusic.java4
-rw-r--r--src/com/cyngn/audiofx/activity/MasterConfigControl.java17
3 files changed, 15 insertions, 7 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 89b01c2..a3a91c0 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -44,6 +44,7 @@
android:theme="@style/AppThemeV2"
android:label="@string/eq_dialog_title"
android:launchMode="singleInstance"
+ android:configChanges="locale"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
diff --git a/src/com/cyngn/audiofx/activity/ActivityMusic.java b/src/com/cyngn/audiofx/activity/ActivityMusic.java
index 966179d..1494ad3 100644
--- a/src/com/cyngn/audiofx/activity/ActivityMusic.java
+++ b/src/com/cyngn/audiofx/activity/ActivityMusic.java
@@ -214,7 +214,9 @@ public class ActivityMusic extends Activity {
super.onConfigurationChanged(newConfig);
if (DEBUG) Log.i(TAG, "onConfigurationChanged() called with "
+ "newConfig = [" + newConfig + "]");
- mCurrentDeviceToggle = null;
+ if (newConfig.orientation != getResources().getConfiguration().orientation) {
+ mCurrentDeviceToggle = null;
+ }
}
private void setupDtsActionBar() {
diff --git a/src/com/cyngn/audiofx/activity/MasterConfigControl.java b/src/com/cyngn/audiofx/activity/MasterConfigControl.java
index 392b266..d832140 100644
--- a/src/com/cyngn/audiofx/activity/MasterConfigControl.java
+++ b/src/com/cyngn/audiofx/activity/MasterConfigControl.java
@@ -14,11 +14,9 @@ import android.widget.CompoundButton;
import com.cyngn.audiofx.Constants;
import com.cyngn.audiofx.R;
import com.cyngn.audiofx.eq.EqUtils;
-import com.cyngn.audiofx.knobs.KnobCommander;
import com.cyngn.audiofx.service.AudioFxService;
import com.cyngn.audiofx.service.OutputDevice;
-import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -214,9 +212,7 @@ public class MasterConfigControl {
String[] presetNames = getGlobalPrefs().getString("equalizer.preset_names", "").split("\\|");
mPredefinedPresets = presetNames.length + 1; // we consider first EQ to be part of predefined
for (int i = 0; i < numPresets; i++) {
- mEqPresets.add(new StaticPreset(
- localizePresetName(presetNames[i]),
- getPersistedPresetLevels(i)));
+ mEqPresets.add(new StaticPreset(presetNames[i], getPersistedPresetLevels(i)));
}
// add custom preset
@@ -686,7 +682,7 @@ public class MasterConfigControl {
public String getLocalizedPresetName(int index) {
// already localized
- return mEqPresets.get(index).mName;
+ return localizePresetName(mEqPresets.get(index).mName);
}
private final String localizePresetName(final String name) {
@@ -804,6 +800,15 @@ public class MasterConfigControl {
float[] levels = EqUtils.stringBandsToFloats(split[1]);
return new Preset(split[0], levels);
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof Preset) {
+ Preset other = (Preset) o;
+ return other.mName.equals(mName);
+ }
+ return super.equals(o);
+ }
}
public static class StaticPreset extends Preset {