diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 3546364..ebc8717 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -34,6 +34,6 @@
     <string name="pop" msgid="8568493898002509539">"ପପ୍"</string>
     <string name="rock" msgid="4226553710464965901">"ରକ୍"</string>
     <string name="ci_extreme" msgid="67259122484788490">"FX ବୁଷ୍ଟର୍"</string>
-    <string name="user" msgid="8392147515328861077">"ୟୁଜର"</string>
+    <string name="user" msgid="8392147515328861077">"ଉପଯୋଗକର୍ତ୍ତା"</string>
     <string name="picker_title" msgid="4756201760847390691">"ମ୍ୟୁଜିକ ଇଫେକ୍ଟ କଣ୍ଟ୍ରୋଲପ୍ୟାନେଲ"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 776d4af..1df8740 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -19,10 +19,10 @@
     <string name="app_name" msgid="2227320688818248940">"MusicFX"</string>
     <string name="no_effects" msgid="9023408561505030260">"Efectele nu sunt disponibile."</string>
     <string name="eq_dialog_title" msgid="3237402214371962070">"Egalizator"</string>
-    <string name="headset_plug" msgid="1774198554148807517">"Pentru aceste efecte trebuie să conectezi căștile."</string>
+    <string name="headset_plug" msgid="1774198554148807517">"Pentru aceste efecte trebuie să conectați căștile."</string>
     <string name="bass_boost_strength" msgid="8643071340166812205">"Amplificare bas"</string>
     <string name="virtualizer_strength" msgid="2139410708760989842">"Sunet surround"</string>
-    <string name="setup" msgid="4811197673396615722">"Configurează"</string>
+    <string name="setup" msgid="4811197673396615722">"Configurați"</string>
     <string name="normal" msgid="757786146857325609">"Normal"</string>
     <string name="classical" msgid="1975693421508209132">"Clasică"</string>
     <string name="dance" msgid="212617702657103572">"Dance"</string>
diff --git a/src/com/android/musicfx/ActivityMusic.java b/src/com/android/musicfx/ActivityMusic.java
index a2c356d..3b56ed1 100644
--- a/src/com/android/musicfx/ActivityMusic.java
+++ b/src/com/android/musicfx/ActivityMusic.java
@@ -64,7 +64,6 @@
 import android.widget.Toast;
 
 import java.util.Formatter;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
@@ -177,19 +176,17 @@
     /**
      * Default localized equalizer preset names. Keep the same as EffectBundle::gEqualizerPresets.
      */
-    private static final Map<String, Integer> LOCALIZED_EQUALIZER_PRESET_NAMES
-            = new HashMap<String, Integer>() {{
-            put("Normal", R.string.normal);
-            put("Classical", R.string.classical);
-            put("Dance", R.string.dance);
-            put("Flat", R.string.flat);
-            put("Folk", R.string.folk);
-            put("Heavy Metal", R.string.heavy_metal);
-            put("Hip Hop", R.string.hip_hop);
-            put("Jazz", R.string.jazz);
-            put("Pop", R.string.pop);
-            put("Rock", R.string.rock);
-    }};
+    private static final Map<String, Integer> LOCALIZED_EQUALIZER_PRESET_NAMES = Map.of(
+            "Normal", R.string.normal,
+            "Classical", R.string.classical,
+            "Dance", R.string.dance,
+            "Flat", R.string.flat,
+            "Folk", R.string.folk,
+            "Heavy Metal", R.string.heavy_metal,
+            "Hip Hop", R.string.hip_hop,
+            "Jazz", R.string.jazz,
+            "Pop", R.string.pop,
+            "Rock", R.string.rock);
 
     /**
      * Context field
