diff options
author | Roman Birg <roman@cyngn.com> | 2015-08-25 10:27:56 -0700 |
---|---|---|
committer | Roman Birg <roman@cyngn.com> | 2015-08-25 10:27:56 -0700 |
commit | b310e480eb748a947ae1cf250a768377bc2b7bf9 (patch) | |
tree | 029113748d6720836404afd3f6497fd599f0f868 | |
parent | c03e3ae825c1fb8072597b3099cf4a6641539ef4 (diff) | |
download | android_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.xml | 1 | ||||
-rw-r--r-- | src/com/cyngn/audiofx/activity/ActivityMusic.java | 4 | ||||
-rw-r--r-- | src/com/cyngn/audiofx/activity/MasterConfigControl.java | 17 |
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 { |