Import translations. DO NOT MERGE am: 386239e  -s ours am: bf5690c  -s ours
am: 163240e  -s ours

* commit '163240e94bb6d725867b5ee8b1259b9aed2c41a5':
  Import translations. DO NOT MERGE
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9c3e00b..0a12bd0 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -24,8 +24,6 @@
     <uses-permission
         android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
     <uses-permission
-        android:name="android.permission.INTERNET" />
-    <uses-permission
         android:name="android.permission.BLUETOOTH"></uses-permission>
     <application
         android:icon="@drawable/icon"
diff --git a/res/drawable-hdpi/progress_vertical_bg_holo_dark.9.png b/res/drawable-hdpi/progress_vertical_bg_holo_dark.9.png
deleted file mode 100644
index 92e34bf..0000000
--- a/res/drawable-hdpi/progress_vertical_bg_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/progress_vertical_primary_holo_dark.9.png b/res/drawable-hdpi/progress_vertical_primary_holo_dark.9.png
deleted file mode 100644
index cbd537b..0000000
--- a/res/drawable-hdpi/progress_vertical_primary_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/progress_vertical_secondary_holo_dark.9.png b/res/drawable-hdpi/progress_vertical_secondary_holo_dark.9.png
deleted file mode 100644
index 73a0e40..0000000
--- a/res/drawable-hdpi/progress_vertical_secondary_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/scrubber_vertical_primary_holo.9.png b/res/drawable-hdpi/scrubber_vertical_primary_holo.9.png
deleted file mode 100644
index 03930e2..0000000
--- a/res/drawable-hdpi/scrubber_vertical_primary_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/scrubber_vertical_secondary_holo.9.png b/res/drawable-hdpi/scrubber_vertical_secondary_holo.9.png
deleted file mode 100644
index a19365c..0000000
--- a/res/drawable-hdpi/scrubber_vertical_secondary_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/scrubber_vertical_track_holo_dark.9.png b/res/drawable-hdpi/scrubber_vertical_track_holo_dark.9.png
deleted file mode 100644
index 9f12c60..0000000
--- a/res/drawable-hdpi/scrubber_vertical_track_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/scrubber_vertical_track_holo_light.9.png b/res/drawable-hdpi/scrubber_vertical_track_holo_light.9.png
deleted file mode 100644
index 325b86a..0000000
--- a/res/drawable-hdpi/scrubber_vertical_track_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/progress_vertical_bg_holo_dark.9.png b/res/drawable-mdpi/progress_vertical_bg_holo_dark.9.png
deleted file mode 100644
index 662e59b..0000000
--- a/res/drawable-mdpi/progress_vertical_bg_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/progress_vertical_primary_holo_dark.9.png b/res/drawable-mdpi/progress_vertical_primary_holo_dark.9.png
deleted file mode 100644
index e7e32cb..0000000
--- a/res/drawable-mdpi/progress_vertical_primary_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/progress_vertical_secondary_holo_dark.9.png b/res/drawable-mdpi/progress_vertical_secondary_holo_dark.9.png
deleted file mode 100644
index 2fee3a8..0000000
--- a/res/drawable-mdpi/progress_vertical_secondary_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/scrubber_vertical_primary_holo.9.png b/res/drawable-mdpi/scrubber_vertical_primary_holo.9.png
deleted file mode 100644
index ecea48d..0000000
--- a/res/drawable-mdpi/scrubber_vertical_primary_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/scrubber_vertical_secondary_holo.9.png b/res/drawable-mdpi/scrubber_vertical_secondary_holo.9.png
deleted file mode 100644
index 35bf199..0000000
--- a/res/drawable-mdpi/scrubber_vertical_secondary_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/scrubber_vertical_track_holo_dark.9.png b/res/drawable-mdpi/scrubber_vertical_track_holo_dark.9.png
deleted file mode 100644
index 8a7fbde..0000000
--- a/res/drawable-mdpi/scrubber_vertical_track_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/scrubber_vertical_track_holo_light.9.png b/res/drawable-mdpi/scrubber_vertical_track_holo_light.9.png
deleted file mode 100644
index 097d05e..0000000
--- a/res/drawable-mdpi/scrubber_vertical_track_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/progress_vertical_primary_holo_dark.9.png b/res/drawable-xhdpi/progress_vertical_primary_holo_dark.9.png
deleted file mode 100644
index 27c8647..0000000
--- a/res/drawable-xhdpi/progress_vertical_primary_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/progress_vertical_secondary_holo_dark.9.png b/res/drawable-xhdpi/progress_vertical_secondary_holo_dark.9.png
deleted file mode 100644
index 5c622d8..0000000
--- a/res/drawable-xhdpi/progress_vertical_secondary_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/scrubber_vertical_primary_holo.9.png b/res/drawable-xhdpi/scrubber_vertical_primary_holo.9.png
deleted file mode 100644
index 2e4a44b..0000000
--- a/res/drawable-xhdpi/scrubber_vertical_primary_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/scrubber_vertical_secondary_holo.9.png b/res/drawable-xhdpi/scrubber_vertical_secondary_holo.9.png
deleted file mode 100644
index a5b1461..0000000
--- a/res/drawable-xhdpi/scrubber_vertical_secondary_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/scrubber_vertical_track_holo_dark.9.png b/res/drawable-xhdpi/scrubber_vertical_track_holo_dark.9.png
deleted file mode 100644
index 5f0fc26..0000000
--- a/res/drawable-xhdpi/scrubber_vertical_track_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/scrubber_vertical_track_holo_light.9.png b/res/drawable-xhdpi/scrubber_vertical_track_holo_light.9.png
deleted file mode 100644
index fc89474..0000000
--- a/res/drawable-xhdpi/scrubber_vertical_track_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/progress_vertical.xml b/res/drawable/progress_vertical.xml
deleted file mode 100644
index 1ee031d..0000000
--- a/res/drawable/progress_vertical.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    
-    <item android:id="@android:id/background">
-        <shape>
-            <corners android:radius="5dip" />
-            <gradient
-                    android:startColor="#ff9d9e9d"
-                    android:centerColor="#ff5a5d5a"
-                    android:centerY="0.75"
-                    android:endColor="#ff747674"
-                    android:angle="180"
-            />
-        </shape>
-    </item>
-    
-    <item android:id="@android:id/secondaryProgress">
-        <clip>
-            <shape>
-                <corners android:radius="5dip" />
-                <gradient
-                        android:startColor="#80ffd300"
-                        android:centerColor="#80ffb600"
-                        android:centerY="0.75"
-                        android:endColor="#a0ffcb00"
-                        android:angle="180"
-                />
-            </shape>
-        </clip>
-    </item>
-    
-    <item android:id="@android:id/progress">
-        <clip
-            android:clipOrientation="vertical"
-            android:gravity="bottom">
-            <shape>
-                <corners android:radius="5dip" />
-                <gradient
-                        android:startColor="#ffffd300"
-                        android:centerColor="#ffffb600"
-                        android:centerY="0.75"
-                        android:endColor="#ffffcb00"
-                        android:angle="180"
-                />
-            </shape>
-        </clip>
-    </item>
-    
-</layer-list>
-
diff --git a/res/drawable/progress_vertical_holo_dark.xml b/res/drawable/progress_vertical_holo_dark.xml
deleted file mode 100644
index 9eb54b7..0000000
--- a/res/drawable/progress_vertical_holo_dark.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:id="@android:id/background"
-          android:drawable="@drawable/progress_vertical_bg_holo_dark" />
-
-    <item android:id="@android:id/secondaryProgress">
-        <scale android:scaleHeight="100%" android:scaleGravity="bottom"
-               android:drawable="@drawable/progress_vertical_secondary_holo_dark" />
-    </item>
-
-    <item android:id="@android:id/progress">
-        <scale android:scaleHeight="100%" android:scaleGravity="bottom"
-               android:drawable="@drawable/progress_vertical_primary_holo_dark" />
-    </item>
-
-</layer-list>
diff --git a/res/drawable/scrubber_progress_vertical_holo_dark.xml b/res/drawable/scrubber_progress_vertical_holo_dark.xml
deleted file mode 100644
index 0cc56bf..0000000
--- a/res/drawable/scrubber_progress_vertical_holo_dark.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:id="@android:id/background"
-            android:drawable="@drawable/scrubber_vertical_track_holo_dark" />
-    <item android:id="@android:id/secondaryProgress">
-        <scale android:scaleHeight="100%" android:scaleGravity="bottom"
-                android:drawable="@drawable/scrubber_vertical_secondary_holo" />
-    </item>
-    <item android:id="@android:id/progress">
-        <scale android:scaleHeight="100%" android:scaleGravity="bottom"
-                android:drawable="@drawable/scrubber_vertical_primary_holo" />
-    </item>
-</layer-list>
diff --git a/res/drawable/scrubber_progress_vertical_holo_light.xml b/res/drawable/scrubber_progress_vertical_holo_light.xml
deleted file mode 100644
index 8a54edf..0000000
--- a/res/drawable/scrubber_progress_vertical_holo_light.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:id="@android:id/background"
-            android:drawable="@drawable/scrubber_vertical_track_holo_light" />
-    <item android:id="@android:id/secondaryProgress">
-        <scale android:scaleHeight="100%" android:scaleGravity="bottom"
-                android:drawable="@drawable/scrubber_vertical_secondary_holo" />
-    </item>
-    <item android:id="@android:id/progress">
-        <scale android:scaleHeight="100%" android:scaleGravity="bottom"
-                android:drawable="@drawable/scrubber_vertical_primary_holo" />
-    </item>
-</layer-list>
diff --git a/res/layout-land/music_main.xml b/res/layout-land/music_main.xml
index 905a602..5153d87 100644
--- a/res/layout-land/music_main.xml
+++ b/res/layout-land/music_main.xml
@@ -86,7 +86,7 @@
                             android:ellipsize="marquee"
                             android:fadingEdge="horizontal"
                             android:text="@string/bass_boost_strength" />
-                        <com.android.musicfx.seekbar.SeekBar
+                        <SeekBar
                             android:id="@+id/bBStrengthSeekBar"
                             android:layout_width="170dip"
                             android:layout_height="wrap_content"
@@ -117,7 +117,7 @@
                             android:ellipsize="marquee"
                             android:fadingEdge="horizontal"
                             android:text="@string/virtualizer_strength" />
-                        <com.android.musicfx.seekbar.SeekBar
+                        <SeekBar
                             android:id="@+id/vIStrengthSeekBar"
                             android:layout_width="170dip"
                             android:layout_height="wrap_content"
diff --git a/res/layout/music_eq.xml b/res/layout/music_eq.xml
index 1af4c9d..309a34d 100644
--- a/res/layout/music_eq.xml
+++ b/res/layout/music_eq.xml
@@ -55,12 +55,15 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="center_vertical">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand0SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand0SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand0TextView"
             android:layout_width="50dip"
@@ -71,12 +74,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand1SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand1SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand1TextView"
             android:layout_width="50dip"
@@ -87,12 +93,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand2SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand2SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand2TextView"
             android:layout_width="50dip"
@@ -103,12 +112,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand3SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand3SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand3TextView"
             android:layout_width="50dip"
@@ -119,12 +131,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand4SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand4SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand4TextView"
             android:layout_width="50dip"
@@ -135,12 +150,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand5SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand5SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand5TextView"
             android:layout_width="50dip"
@@ -151,12 +169,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand6SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand6SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand6TextView"
             android:layout_width="50dip"
@@ -167,12 +188,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand7SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand7SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand7TextView"
             android:layout_width="50dip"
@@ -183,12 +207,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand8SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand8SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand8TextView"
             android:layout_width="50dip"
@@ -199,12 +226,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand9SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand9SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand9TextView"
             android:layout_width="50dip"
@@ -215,12 +245,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand10SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand10SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand10TextView"
             android:layout_width="50dip"
@@ -231,12 +264,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand11SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand11SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand11TextView"
             android:layout_width="50dip"
@@ -247,12 +283,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand12SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand12SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand12TextView"
             android:layout_width="50dip"
@@ -263,12 +302,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand13SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand13SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand13TextView"
             android:layout_width="50dip"
@@ -279,12 +321,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand14SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand14SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand14TextView"
             android:layout_width="50dip"
@@ -295,12 +340,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand15SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand15SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand15TextView"
             android:layout_width="50dip"
@@ -311,12 +359,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand16SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand16SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand16TextView"
             android:layout_width="50dip"
@@ -327,12 +378,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand17SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand17SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand17TextView"
             android:layout_width="50dip"
@@ -343,12 +397,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand18SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand18SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand18TextView"
             android:layout_width="50dip"
@@ -359,12 +416,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand19SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand19SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand19TextView"
             android:layout_width="50dip"
@@ -375,12 +435,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand20SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand20SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand20TextView"
             android:layout_width="50dip"
@@ -391,12 +454,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand21SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand21SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand21TextView"
             android:layout_width="50dip"
@@ -407,12 +473,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand22SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand22SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand22TextView"
             android:layout_width="50dip"
@@ -423,12 +492,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand23SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand23SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand23TextView"
             android:layout_width="50dip"
@@ -439,12 +511,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand24SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand24SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand24TextView"
             android:layout_width="50dip"
@@ -455,12 +530,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand25SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand25SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand25TextView"
             android:layout_width="50dip"
@@ -471,12 +549,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand26SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand26SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand26TextView"
             android:layout_width="50dip"
@@ -487,12 +568,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand27SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand27SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand27TextView"
             android:layout_width="50dip"
@@ -503,12 +587,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand28SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand28SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand28TextView"
             android:layout_width="50dip"
@@ -519,12 +606,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand29SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand29SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand29TextView"
             android:layout_width="50dip"
@@ -535,12 +625,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand30SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand30SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand30TextView"
             android:layout_width="50dip"
@@ -551,12 +644,15 @@
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="match_parent">
-        <com.android.musicfx.seekbar.SeekBar
-            android:id="@+id/EQBand31SeekBar"
-            style="@style/Widget.Holo.SeekBar.Vertical"
-            android:layout_margin="@dimen/eq_slider_margin"
+        <com.android.musicfx.SeekBarRotator
             android:layout_width="wrap_content"
-            android:layout_height="@dimen/eq_slider_height" />
+            android:layout_height="@dimen/eq_slider_height">
+            <SeekBar
+                android:id="@+id/EQBand31SeekBar"
+                android:layout_margin="@dimen/eq_slider_margin"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </com.android.musicfx.SeekBarRotator>
         <TextView
             android:id="@+id/EQBand31TextView"
             android:layout_width="50dip"
diff --git a/res/layout/music_main.xml b/res/layout/music_main.xml
index eabe8d9..701b675 100644
--- a/res/layout/music_main.xml
+++ b/res/layout/music_main.xml
@@ -76,7 +76,7 @@
                     android:ellipsize="marquee"
                     android:fadingEdge="horizontal"
                     android:text="@string/bass_boost_strength" />
-                <com.android.musicfx.seekbar.SeekBar
+                <SeekBar
                     android:id="@+id/bBStrengthSeekBar"
                     android:layout_width="170dip"
                     android:layout_height="wrap_content"
@@ -107,7 +107,7 @@
                     android:ellipsize="marquee"
                     android:fadingEdge="horizontal"
                     android:text="@string/virtualizer_strength" />
-                <com.android.musicfx.seekbar.SeekBar
+                <SeekBar
                     android:id="@+id/vIStrengthSeekBar"
                     android:layout_width="170dip"
                     android:layout_height="wrap_content"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 9d1fd7d..f65a01a 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effekte nie beskikbaar nie."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Oudio-effekte"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Effenaar"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Prop oorfone in vir hierdie effekte."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Basversterker"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Omringklank"</string>
-    <string name="pr_title" msgid="873875523196045130">"Eggo:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Bykomende kamer-eggo-effekte"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Verstek-eggo"</string>
     <string name="setup" msgid="1103677904576339192">"Stel op"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX-versterker"</string>
     <string name="user" msgid="3949460956502898057">"Gebruiker"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 34f777e..d6eca43 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"ኢፌክት አልተገኘም"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"የድም ፅ ተፅዕኖች"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"ማመጣጠኛ"</string>
     <string name="headset_plug" msgid="4505819850289423141">"እባክህ ለእነዚህ ኢፌክቶች የጆሮ ማዳመጫዎች ሰካ፡፡"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"ወፍራም ደምጽ መጨመር"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"የዙሪያ ድምጽ"</string>
-    <string name="pr_title" msgid="873875523196045130">"አስተጋባ"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"ተጨማሪ የማስተጋቢያ ተፅዕኖዎች"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"የአስተጋባ ቅድመ ቅምጥ"</string>
     <string name="setup" msgid="1103677904576339192">"አዋቅር"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"የኢፌክት መጨመሪያ"</string>
     <string name="user" msgid="3949460956502898057">"ተጠቃሚ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 9e2aa66..cbb43da 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"التأثيرات غير متاحة."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"تأثيرات الصوت"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"المعادل"</string>
     <string name="headset_plug" msgid="4505819850289423141">"يمكنك توصيل سماعات الرأس للاستماع إلى هذه التأثيرات"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"تحسين الجهير"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"الصوت المحيطي"</string>
-    <string name="pr_title" msgid="873875523196045130">"الصدى:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"التأثيرات الإضافية لصدى الغرفة"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"الإعداد المسبق للصدى"</string>
     <string name="setup" msgid="1103677904576339192">"الإعداد"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"المستخدم"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index bb58711..16aafc1 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Ефектите не са налични."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Аудиоефекти"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Еквалайзър"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Включете слушалки за тези ефекти."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Усилване на ниските честоти"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Съраунд звук"</string>
-    <string name="pr_title" msgid="873875523196045130">"Реверберация:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Допълнителни ефекти за реверберацията в стая"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Предварително задаване на реверберация"</string>
     <string name="setup" msgid="1103677904576339192">"Настройка"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"Потребител"</string>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index a87a624..c5e919a 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -18,15 +18,11 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effekter er ikke tilgjengelige."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Lydeffekter"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Sett inn hodetelefoner for å oppleve disse effektene."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bassforsterking"</string>
     <!-- no translation found for virtualizer_strength (106561253469770096) -->
     <skip />
-    <string name="pr_title" msgid="873875523196045130">"Romklang:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Ytterligere effekter for romklang"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Forhåndsinnstilling for romklang"</string>
     <string name="setup" msgid="1103677904576339192">"Konfigurering"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Bruker"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 043dd5b..be4ea87 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efectes no disponibles."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efectes d\'àudio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalitzador"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Connecta els auriculars per a aquests efectes."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Accentuació de baixos"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"So envoltant"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverberació:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Efectes addicionals de reverberació ambiental"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Reverberació predefinida"</string>
     <string name="setup" msgid="1103677904576339192">"Configura"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Usuari"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 7e275a0..16b55df 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -18,16 +18,12 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efekty nejsou k dispozici."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Zvukové efekty"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ekvalizér"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Tyto efekty lze aktivovat pouze se zapojenými sluchátky."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Zvýraznění basů"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Prostorový zvuk"</string>
-    <string name="pr_title" msgid="873875523196045130">"Dozvuk:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Efekty dozvuku v místnosti"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Dozvuk (předvolba)"</string>
     <string name="setup" msgid="1103677904576339192">"Konfigurace"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
-    <string name="user" msgid="3949460956502898057">"Uživatel"</string>
+    <string name="user" msgid="3949460956502898057">"Vlastní"</string>
     <string name="picker_title" msgid="8464126693702817261">"Ovládací panel hudebních efektů"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index ed144d9..85a0094 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -18,16 +18,12 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effekterne er ikke tilgængelige."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Lydeffekter"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Tilslut hovedtelefoner for at få disse effekter."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bass boost"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surroundsound"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverb"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Ekstra rumklangseffekter"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Forudindstilling af rumklang"</string>
     <string name="setup" msgid="1103677904576339192">"Opsætning"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
-    <string name="user" msgid="3949460956502898057">"Bruger"</string>
+    <string name="user" msgid="3949460956502898057">"Tilpasset"</string>
     <string name="picker_title" msgid="8464126693702817261">"Kontrolpanel for musikeffekter"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index b453881..23fb295 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effekte nicht verfügbar"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Audio-Effekte"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Für diese Effekte benötigen Sie Kopfhörer."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bassverstärkung"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround-Sound"</string>
-    <string name="pr_title" msgid="873875523196045130">"Hall:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Zusätzliche Nachhalleffekte"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Voreinstellung für Hall"</string>
     <string name="setup" msgid="1103677904576339192">"Einrichtung"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX-Verstärker"</string>
     <string name="user" msgid="3949460956502898057">"Nutzer"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 96c284b..5775f22 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Τα εφέ δεν είναι διαθέσιμα."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Εφέ ήχου"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ισοσταθμιστής"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Συνδέστε τα ακουστικά για αυτά τα εφέ."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Ενίσχυση μπάσων"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Περιφερειακός ήχος"</string>
-    <string name="pr_title" msgid="873875523196045130">"Αντήχηση:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Πρόσθετα εφέ αντήχησης δωματίου"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Προεπιλογή αντήχησης"</string>
     <string name="setup" msgid="1103677904576339192">"Ρύθμιση"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"Xρήστης"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..842d7e0
--- /dev/null
+++ b/res/values-en-rAU/strings.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2010-2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
+    <string name="no_effects" msgid="5067916002004255814">"Effects not available."</string>
+    <string name="eq_dialog_title" msgid="2020244436368289652">"Equaliser"</string>
+    <string name="headset_plug" msgid="4505819850289423141">"Plug in headphones for these effects."</string>
+    <string name="bass_boost_strength" msgid="882301530007752270">"Bass boost"</string>
+    <string name="virtualizer_strength" msgid="106561253469770096">"Surround sound"</string>
+    <string name="setup" msgid="1103677904576339192">"Setup"</string>
+    <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
+    <string name="user" msgid="3949460956502898057">"User"</string>
+    <string name="picker_title" msgid="8464126693702817261">"Music effects control panel"</string>
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 2cec2c9..842d7e0 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effects not available."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Audio effects"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equaliser"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Plug in headphones for these effects."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bass boost"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround sound"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverb:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Additional room reverberation effects"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Reverb preset"</string>
     <string name="setup" msgid="1103677904576339192">"Setup"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"User"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 2cec2c9..842d7e0 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effects not available."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Audio effects"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equaliser"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Plug in headphones for these effects."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bass boost"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround sound"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverb:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Additional room reverberation effects"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Reverb preset"</string>
     <string name="setup" msgid="1103677904576339192">"Setup"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"User"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 2cb9482..757293d 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efectos no disponibles"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efectos de audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ecualizador"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Conecta los auriculares para usar estos efectos."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Refuerzo de graves"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Sonido envolvente"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverberación:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Otros efectos de reverberación de sala"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Ajustes predeterminados de reverberación"</string>
     <string name="setup" msgid="1103677904576339192">"Configuración"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Usuario"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ceb7e33..05bfea3 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efectos no disponibles"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efectos de audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ecualizador"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Para disfrutar de los efectos, debes conectar los auriculares."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Refuerzo de graves"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Sonido envolvente"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverberación:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Otros efectos de reverberación de sala"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Ajustes predeterminados de reverberación"</string>
     <string name="setup" msgid="1103677904576339192">"Configuración"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Usuario"</string>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 60c7fb7..779e0e1 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efektid pole saadaval"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Heliefektid"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ekvalaiser"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Nende efektide jaoks ühendage kõrvaklapid"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bassivõimendi"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Ruumiline heli"</string>
-    <string name="pr_title" msgid="873875523196045130">"Järelkõla:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Täiendavad ruumi järelkõla efektid"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Järelkõla eelseade"</string>
     <string name="setup" msgid="1103677904576339192">"Seadista"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX-võimendi"</string>
     <string name="user" msgid="3949460956502898057">"Kasutaja"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index f0a41fc..c5a4e19 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"جلوه‌ها در دسترس نیستند."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"جلوه‌های صوتی"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"اکولایزر"</string>
     <string name="headset_plug" msgid="4505819850289423141">"برای این جلوه‌ها هدفون را وصل کنید."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"تقویت باس"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"صدای فراگیر"</string>
-    <string name="pr_title" msgid="873875523196045130">"طنین:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"جلوه‌های طنین اضافی اتاق"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"پیش‌تنظیم طنین"</string>
     <string name="setup" msgid="1103677904576339192">"تنظیم"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"تقویت‌کننده FX"</string>
     <string name="user" msgid="3949460956502898057">"کاربر"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 193357e..4678d71 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Tehosteet eivät ole käytettävissä."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Äänitehosteet"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Taajuuskorjain"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Liitä kuulokkeet kuullaksesi tehosteet."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Basson tehostus"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround-ääni"</string>
-    <string name="pr_title" msgid="873875523196045130">"Kaiku:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Muut kaikutehosteet"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Kaiku"</string>
     <string name="setup" msgid="1103677904576339192">"Alkutoimet"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Käyttäjä"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 9e28a50..22ddc94 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effets indisponibles."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Effets audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Égaliseur"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Veuillez brancher un casque pour ces effets."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Amplification des basses"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Son ambiophonique"</string>
-    <string name="pr_title" msgid="873875523196045130">"Réverbération :"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Autres effets de réverbération de la pièce"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Préréglage de la réverbération"</string>
     <string name="setup" msgid="1103677904576339192">"Configuration"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Utilisateur"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index d88c993..720fd65 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effets indisponibles."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Effets audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Égaliseur"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Veuillez brancher un casque pour ces effets."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Amplification des basses"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Son surround"</string>
-    <string name="pr_title" msgid="873875523196045130">"Réverbération :"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Autres effets de réverbération de la pièce"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Préréglage de la réverbération"</string>
     <string name="setup" msgid="1103677904576339192">"Configuration"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Utilisateur"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index b730358..4e0d247 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"प्रभाव उपलब्ध नहीं."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"ऑडियो प्रभाव"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"इक्वलाइज़र"</string>
     <string name="headset_plug" msgid="4505819850289423141">"इन प्रभावों के लिए हेडफ़ोन प्‍लग इन करें."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"बेस बढ़ाएं"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"सराउंड साउंड"</string>
-    <string name="pr_title" msgid="873875523196045130">"गूंज:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"अतिरिक्‍त कक्ष अनुगूंज प्रभाव"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"गूंज प्रीसेट"</string>
     <string name="setup" msgid="1103677904576339192">"सेटअप"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX बूस्‍टर"</string>
     <string name="user" msgid="3949460956502898057">"उपयोगकर्ता"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index cd86a6d..711893b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efekti nisu dostupni."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Zvučni efekti"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ekvalizator"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Priključite slušalice za ove efekte."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Pojačanje basova"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Okružujući zvuk"</string>
-    <string name="pr_title" msgid="873875523196045130">"Odjek:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Dodatni efekti odjeka u prostoriji"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Unaprijed definirani odjek"</string>
     <string name="setup" msgid="1103677904576339192">"Postavljanje"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Korisnik"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 9d3cc38..26ed027 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Nem állnak rendelkezésre effektek."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Hangeffektusok"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Hangszín"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Dugd be a fejhallgatót ezekhez az effektekhez."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Mélyhangkiemelő"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Térhatású hangzás"</string>
-    <string name="pr_title" msgid="873875523196045130">"Visszhang:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"További visszhang hatások"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Előre beállított visszhang"</string>
     <string name="setup" msgid="1103677904576339192">"Beállítás"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Felhasználó"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index af87ab1..2d91dbf 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efek tidak tersedia."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efek audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ekualizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Pasang headphone untuk efek ini."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Peningkatan bass"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Suara surround"</string>
-    <string name="pr_title" msgid="873875523196045130">"Gema:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Efek gema ruangan tambahan"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Prasetel gema"</string>
     <string name="setup" msgid="1103677904576339192">"Penyiapan"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Penguat FX"</string>
     <string name="user" msgid="3949460956502898057">"Pengguna"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 07aa5b0..e66bb44 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effetti non disponibili."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Effetti audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizzatore"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Collega le cuffie per questi effetti."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bassi più intensi"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Audio surround"</string>
-    <string name="pr_title" msgid="873875523196045130">"Riverbero:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Altri effetti riverbero stanza"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Preimpostazione riverbero"</string>
     <string name="setup" msgid="1103677904576339192">"Configurazione"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Utente"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 29f6ed2..df98b75 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"האפקטים אינם זמינים."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"אפקטי אודיו"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"חבר אוזניות כדי לשמוע אפקטים אלה."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"הגברת הבס"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"סראונד"</string>
-    <string name="pr_title" msgid="873875523196045130">"הדהוד:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"אפקטים נוספים של הדהוד בחדר"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"הגדרת הדהוד קבועה מראש"</string>
     <string name="setup" msgid="1103677904576339192">"התקן"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"משתמש"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 4976070..cbb2411 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"効果は利用できません。"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"オーディオ効果"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"イコライザー"</string>
     <string name="headset_plug" msgid="4505819850289423141">"これらの効果はヘッドホンで聴いてください。"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"バスブースト"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"サラウンドサウンド"</string>
-    <string name="pr_title" msgid="873875523196045130">"リバーブ:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"その他のルームリバーブ効果"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"リバーブプリセット"</string>
     <string name="setup" msgid="1103677904576339192">"セットアップ"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FXブースター"</string>
     <string name="user" msgid="3949460956502898057">"ユーザー"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 15a9150..ac5b4b5 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"효과를 사용할 수 없습니다."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"오디오 효과"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"이퀄라이저"</string>
     <string name="headset_plug" msgid="4505819850289423141">"이 효과를 사용하려면 헤드폰을 연결하시기 바랍니다."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"중저음 강화"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"서라운드 사운드"</string>
-    <string name="pr_title" msgid="873875523196045130">"반향:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"추가 실내 반향 효과"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"잔향 사전 설정"</string>
     <string name="setup" msgid="1103677904576339192">"설정"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX 부스터"</string>
     <string name="user" msgid="3949460956502898057">"사용자"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 2e87862..8d745ee 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efektai nepasiekiami."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Garso efektai"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Vienodintuvas"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Įkiškite ausines, kad būtų pateikti šie efektai."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Žemų tonų išryškinimas"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Erdvinis garsas"</string>
-    <string name="pr_title" msgid="873875523196045130">"Dirbtinis garso fonas:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Papildomi aplinkos dirbtinio garso fono efektai"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Išankstinis dirbtinio garso fono nustatymas"</string>
     <string name="setup" msgid="1103677904576339192">"Sąranka"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Naudotojas"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 733d438..7b63d3c 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efekti nav pieejami."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Audio efekti"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ekvalaizers"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Pievienojiet austiņas, lai dzirdētu šos efektus."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Basu pastiprināšana"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Ieskaujošā skaņa"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverberācija:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Telpas reverberācijas papildu efekti"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Reverberācijas iepriekšēja iestatīšana"</string>
     <string name="setup" msgid="1103677904576339192">"Iestatīšana"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"Lietotājs"</string>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 66bd3c1..7a94e00 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Kesan tidak tersedia."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Kesan audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Penyama"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Pasangkan fon kepala untuk kesan ini."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Galak bes"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Bunyi keliling"</string>
-    <string name="pr_title" msgid="873875523196045130">"Gema:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Kesan gema bilik tambahan"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Pratetap gema"</string>
     <string name="setup" msgid="1103677904576339192">"Persediaan"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Penggalak FX"</string>
     <string name="user" msgid="3949460956502898057">"Pengguna"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 923af46..e9af104 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effekter er ikke tilgjengelige."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Lydeffekter"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Sett inn hodetelefoner for å oppleve disse effektene."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bassforsterking"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround-lyd"</string>
-    <string name="pr_title" msgid="873875523196045130">"Romklang:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Ytterligere effekter for romklang"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Forhåndsinnstilling for romklang"</string>
     <string name="setup" msgid="1103677904576339192">"Konfigurering"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Effekt"</string>
     <string name="user" msgid="3949460956502898057">"Bruker"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 9de8cd5..3426acf 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effecten niet beschikbaar."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Audio-effecten"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Gebruik een hoofdtelefoon om deze effecten te beluisteren."</string>
-    <string name="bass_boost_strength" msgid="882301530007752270">"Lage-tonenversterking"</string>
+    <string name="bass_boost_strength" msgid="882301530007752270">"Basversterking"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround sound"</string>
-    <string name="pr_title" msgid="873875523196045130">"Galm:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Extra ruimtelijke galmeffecten"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Galm vooraf ingesteld"</string>
     <string name="setup" msgid="1103677904576339192">"Instellen"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"Gebruiker"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 506a781..751bf1e 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efekty niedostępne"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efekty dźwiękowe"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Podłącz słuchawki, aby usłyszeć te efekty."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Basy"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Dźwięk przestrzenny"</string>
-    <string name="pr_title" msgid="873875523196045130">"Pogłos:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Dodatkowe efekty pogłosu w pomieszczeniu"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Gotowe ustawienie pogłosu"</string>
     <string name="setup" msgid="1103677904576339192">"Konfiguracja"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Wzmocnienie"</string>
     <string name="user" msgid="3949460956502898057">"Własne"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 3f3a507..f604080 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efeitos não disponíveis."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efeitos de áudio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizador"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Ligue os auscultadores para estes efeitos."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Aumento de graves"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Som surround"</string>
-    <string name="pr_title" msgid="873875523196045130">"Repercussão:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Efeitos de repercussão da sala adicionais"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Predefinição de reverberação"</string>
     <string name="setup" msgid="1103677904576339192">"Configuração"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Amplificador FX"</string>
     <string name="user" msgid="3949460956502898057">"Utilizador"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 4cda20f..e2b6661 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efeitos não disponíveis."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efeitos de áudio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizador"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Conecte fones de ouvido para ativar estes efeitos."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Realçar graves"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Sistema surround"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverberação:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Efeitos adicionais de reverberação do ambiente"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Predefinição de reverberação"</string>
     <string name="setup" msgid="1103677904576339192">"Configuração"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Amplificador FX"</string>
     <string name="user" msgid="3949460956502898057">"Usuário"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0e1c591..f04e779 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efectele nu sunt disponibile."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Efecte audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Egalizator"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Pentru aceste efecte trebuie să conectaţi căştile."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Amplificare bas"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Sunet surround"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverberaţii:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Efecte suplimentare de reverberaţie în încăpere"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Presetare pentru reverberaţii"</string>
     <string name="setup" msgid="1103677904576339192">"Configuraţi"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Amplificator FX"</string>
     <string name="user" msgid="3949460956502898057">"Utilizator"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 2b7f2da..d40be0c 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Эффекты недоступны."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Аудиоэффекты"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Эквалайзер"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Чтобы услышать эти эффекты, подключите наушники."</string>
-    <string name="bass_boost_strength" msgid="882301530007752270">"Усиление нижних частот"</string>
+    <string name="bass_boost_strength" msgid="882301530007752270">"Усиление басов"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Объемный звук"</string>
-    <string name="pr_title" msgid="873875523196045130">"Реверберация:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Дополнительные эффекты реверберации в помещении"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Шаблон ревербератора"</string>
     <string name="setup" msgid="1103677904576339192">"Настройка"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Усилитель FX"</string>
     <string name="user" msgid="3949460956502898057">"Своя настройка"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 62c2f31..2f72191 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -18,16 +18,12 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efekty nie sú k dispozícii."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Zvukové efekty"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ekvalizér"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Ak chcete počuť tieto efekty, pripojte slúchadlá"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Zosilnenie basov"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Priestorový zvuk"</string>
-    <string name="pr_title" msgid="873875523196045130">"Ozvena:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Ďalšie efekty ozveny v miestnosti"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Preddefinované nastavenie ozveny"</string>
     <string name="setup" msgid="1103677904576339192">"Nastavenie"</string>
-    <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
-    <string name="user" msgid="3949460956502898057">"Používateľ"</string>
+    <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
+    <string name="user" msgid="3949460956502898057">"Vlastné"</string>
     <string name="picker_title" msgid="8464126693702817261">"Ovládací panel hudobných efektov"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c836f47..49dfd1c 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Učinki niso na voljo."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Zvočni učinki"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Izenačevalnik"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Za te učinke priključite slušalke."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Povečanje nizkih tonov"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Prostorski zvok"</string>
-    <string name="pr_title" msgid="873875523196045130">"Odmev:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Dodatni učinki za odmev v prostoru"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Prednastavljen odmev"</string>
     <string name="setup" msgid="1103677904576339192">"Namestitev"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Izboljšanje učinkov"</string>
     <string name="user" msgid="3949460956502898057">"Uporabnik"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 42ce27d..ac27ddb 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Ефекти нису доступни."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Аудио ефекти"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Еквилајзер"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Прикључите слушалице за ове ефекте."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Појачавање басова"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Звучни систем"</string>
-    <string name="pr_title" msgid="873875523196045130">"Одјек:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Додатни ефекти одјека у простору"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Претподешавање реверба"</string>
     <string name="setup" msgid="1103677904576339192">"Подешавање"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Корисник"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index e7b371f..031642c 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Effekter är inte tillgängliga."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Ljudeffekter"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Du måste ansluta hörlurar för att kunna höra effekterna."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Basförstärkning"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surroundljud"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverb:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Ytterligare effekter med rumsreverb"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Förinställning för reverb"</string>
     <string name="setup" msgid="1103677904576339192">"Konfiguration"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"Användare"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 77b2f48..dc070de 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MuzikiFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Athari hazipatikani"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Athari za sauti"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Kisawazishi"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Kwa athari hizi weka vipokea sauti."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Kuongeza besi"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Sauti ya mzunguko"</string>
-    <string name="pr_title" msgid="873875523196045130">"Rivabu:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Athari za chumba cha ziada cha revabaresheni"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Seti upya Rivabu"</string>
     <string name="setup" msgid="1103677904576339192">"Weka"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Nyongeza ya FX"</string>
     <string name="user" msgid="3949460956502898057">"Mtumiaji"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index b8cec19..725ae1b 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"ไม่มีเอฟเฟ็กต์"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"เอฟเฟ็กต์เสียง"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"อีควอไลเซอร์"</string>
     <string name="headset_plug" msgid="4505819850289423141">"ใช้หูฟังสำหรับเอฟเฟ็กต์เหล่านี้"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"เพิ่มเสียงเบส"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"เสียงเซอร์ราวด์"</string>
-    <string name="pr_title" msgid="873875523196045130">"เสียงก้อง:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"เอฟเฟ็กต์เสียงก้องในห้องเพิ่มเติม"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"เสียงก้องที่ตั้งล่วงหน้า"</string>
     <string name="setup" msgid="1103677904576339192">"ตั้งค่าระบบ"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX Booster"</string>
     <string name="user" msgid="3949460956502898057">"ผู้ใช้"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index b533ae5..befe07b 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Hindi available ang mga effect."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Mga effect ng audio"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Equalizer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"I-plug in ang mga headphone para sa mga effect na ito."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bass Boost"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround sound"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverb:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Karagdagang mga effect sa reverberation ng kuwarto"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Reverb na preset"</string>
     <string name="setup" msgid="1103677904576339192">"Setup"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"User"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 1a54635..31e9f3a 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Efektler kullanılamıyor."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Ses efektleri"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Ekolayzer"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Bu efektler için kulaklığı takın."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Güçlü bas"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Surround ses"</string>
-    <string name="pr_title" msgid="873875523196045130">"Yankı:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Diğer oda yankısı efektleri"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Yankı ön ayarı"</string>
     <string name="setup" msgid="1103677904576339192">"Kurulum"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Kullanıcı"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index bfdee89..c9e05b8 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Ефекти не доступні"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Аудіоефекти"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Еквалайзер"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Для цих ефектів підключіть гарнітуру."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Підсилення басів"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Об’ємний звук"</string>
-    <string name="pr_title" msgid="873875523196045130">"Акустика:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Додаткові акустичні ефекти в приміщенні"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Попередні налаштування акустики"</string>
     <string name="setup" msgid="1103677904576339192">"Налаштування"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX booster"</string>
     <string name="user" msgid="3949460956502898057">"Користувач"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 3f38126..d376596 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Không có hiệu ứng."</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Hiệu ứng âm thanh"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Bộ hiệu chỉnh"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Cắm tai nghe đối với những hiệu ứng này."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Tăng âm trầm"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Âm thanh vòm"</string>
-    <string name="pr_title" msgid="873875523196045130">"Âm vang:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Hiệu ứng âm vang trong phòng bổ sung"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Giá trị âm vang đặt trước"</string>
     <string name="setup" msgid="1103677904576339192">"Thiết lập"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Bộ tăng FX"</string>
     <string name="user" msgid="3949460956502898057">"Người dùng"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index d27d00f..042476c 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"没有音效。"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"音效"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"均衡器"</string>
     <string name="headset_plug" msgid="4505819850289423141">"插上耳机感受各种音效。"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"低音增强"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"环绕声"</string>
-    <string name="pr_title" msgid="873875523196045130">"混响效果:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"其他室内混响效果"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"混响效果预设"</string>
     <string name="setup" msgid="1103677904576339192">"设置"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"音效增强器"</string>
     <string name="user" msgid="3949460956502898057">"用户"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index e1adf42..973c185 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"無效果。"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"音效"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"等化器"</string>
     <string name="headset_plug" msgid="4505819850289423141">"如要體驗這些效果,請插入耳機。"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"重低音"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"環迴音響"</string>
-    <string name="pr_title" msgid="873875523196045130">"回音:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"額外空間回音效果"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"回響預設"</string>
     <string name="setup" msgid="1103677904576339192">"設定"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX 輔助器"</string>
     <string name="user" msgid="3949460956502898057">"用戶"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 5df963e..db709e3 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"無法使用效果。"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"音效"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"等化器"</string>
     <string name="headset_plug" msgid="4505819850289423141">"接上耳機即可體驗這些效果。"</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"低音加強"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"環繞音效"</string>
-    <string name="pr_title" msgid="873875523196045130">"回響:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"額外空間回響效果"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"回響預設"</string>
     <string name="setup" msgid="1103677904576339192">"設定"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"FX 輔助器"</string>
     <string name="user" msgid="3949460956502898057">"使用者"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 9bf5df5..8d02bba 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -18,14 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5717136097222561957">"MusicFX"</string>
     <string name="no_effects" msgid="5067916002004255814">"Imiphumela ayitholakali"</string>
-    <string name="main_toggle_effects_title" msgid="612896145300512593">"Imphumelo Yomsindo"</string>
     <string name="eq_dialog_title" msgid="2020244436368289652">"Isilinganisi somsindo"</string>
     <string name="headset_plug" msgid="4505819850289423141">"Xhuma okwasekhanda kule miphumela."</string>
     <string name="bass_boost_strength" msgid="882301530007752270">"Bass boost"</string>
     <string name="virtualizer_strength" msgid="106561253469770096">"Umsindo ozungelezile"</string>
-    <string name="pr_title" msgid="873875523196045130">"Reverb:"</string>
-    <string name="pr_summary" msgid="7457279522425453515">"Ikamelo elengeziwe lemphumela elethwayo"</string>
-    <string name="pr_dialog_title" msgid="8080282254796293452">"Thumela i-Preset"</string>
     <string name="setup" msgid="1103677904576339192">"Isethaphu"</string>
     <string name="ci_extreme" msgid="1736938429763948084">"Ukulekelela kwe-FX"</string>
     <string name="user" msgid="3949460956502898057">"Umsebenzisi"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 20a871b..143efa5 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -19,14 +19,10 @@
 
     <!-- ControlPanelMusic strings -->
     <string name="no_effects">Effects not available.</string>
-    <string name="main_toggle_effects_title">Audio effects</string>
     <string name="eq_dialog_title">Equalizer</string>
     <string name="headset_plug">Plug in headphones for these effects.</string>
     <string name="bass_boost_strength">Bass boost</string>
     <string name="virtualizer_strength">Surround sound</string>
-    <string name="pr_title">Reverb:</string>
-    <string name="pr_summary">Additional room reverberation effects</string>
-    <string name="pr_dialog_title">Reverb preset</string>
     <string name="setup">Setup</string>
     <string name="ci_extreme">FX booster</string>
     <string name="user">User</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
deleted file mode 100644
index f92c230..0000000
--- a/res/values/styles.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<resources>
-    <style name="Widget.Holo.SeekBar.Vertical" parent="@android:Widget.Holo.SeekBar">
-        <item name="android:indeterminateOnly">false</item>
-        <item name="android:progressDrawable">@drawable/scrubber_progress_vertical_holo_dark</item>
-<!-- not public       <item name="android:indeterminateDrawable">@android:drawable/scrubber_progress_horizontal_holo_dark</item> -->
-        <item name="android:minWidth">33dip</item>
-        <item name="android:maxWidth">33dip</item>
-<!-- not public        <item name="android:thumb">@android:drawable/scrubber_control_selector_holo</item> -->
-        <item name="android:thumbOffset">16dip</item>
-        <item name="android:focusable">true</item>
-        <item name="android:paddingLeft">0dip</item>
-        <item name="android:paddingRight">0dip</item>
-        <item name="android:paddingTop">16dip</item>
-        <item name="android:paddingBottom">16dip</item>
-    </style>
-</resources>
diff --git a/src/com/android/musicfx/ActivityMusic.java b/src/com/android/musicfx/ActivityMusic.java
index 6f9718a..328a923 100644
--- a/src/com/android/musicfx/ActivityMusic.java
+++ b/src/com/android/musicfx/ActivityMusic.java
@@ -17,8 +17,6 @@
 package com.android.musicfx;
 
 import com.android.audiofx.OpenSLESConstants;
-import com.android.musicfx.seekbar.SeekBar;
-import com.android.musicfx.seekbar.SeekBar.OnSeekBarChangeListener;
 
 import android.app.ActionBar;
 import android.app.Activity;
@@ -52,6 +50,8 @@
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.RelativeLayout;
+import android.widget.SeekBar;
+import android.widget.SeekBar.OnSeekBarChangeListener;
 import android.widget.Spinner;
 import android.widget.Switch;
 import android.widget.TextView;
@@ -73,6 +73,16 @@
     private final static int EQUALIZER_MAX_BANDS = 32;
 
     /**
+     * Max levels per EQ band in millibels (1 dB = 100 mB)
+     */
+    private final static int EQUALIZER_MAX_LEVEL = 1000;
+
+    /**
+     * Min levels per EQ band in millibels (1 dB = 100 mB)
+     */
+    private final static int EQUALIZER_MIN_LEVEL = -1000;
+
+    /**
      * Indicates if Virtualizer effect is supported.
      */
     private boolean mVirtualizerSupported;
@@ -550,7 +560,7 @@
         final int count = viewGroup.getChildCount();
         for (int i = 0; i < count; i++) {
             final View view = viewGroup.getChildAt(i);
-            if ((view instanceof LinearLayout) || (view instanceof RelativeLayout)) {
+            if ((view instanceof ViewGroup)) {
                 final ViewGroup vg = (ViewGroup) view;
                 setEnabledAllChildren(vg, enabled);
             }
@@ -633,8 +643,8 @@
                 mCallingPackageName, mAudioSession, ControlPanelEffect.Key.eq_center_freq);
         final int[] bandLevelRange = ControlPanelEffect.getParameterIntArray(mContext,
                 mCallingPackageName, mAudioSession, ControlPanelEffect.Key.eq_level_range);
-        mEqualizerMinBandLevel = bandLevelRange[0];
-        final int mEqualizerMaxBandLevel = bandLevelRange[1];
+        mEqualizerMinBandLevel = (int) Math.max(EQUALIZER_MIN_LEVEL, bandLevelRange[0]);
+        final int mEqualizerMaxBandLevel = (int) Math.min(EQUALIZER_MAX_LEVEL, bandLevelRange[1]);
 
         for (int band = 0; band < mNumberEqualizerBands; band++) {
             // Unit conversion from mHz to Hz and use k prefix if necessary to display
@@ -661,13 +671,12 @@
             eqcontainer.findViewById(EQViewElementIds[band][1]).setVisibility(View.GONE);
         }
 
-        // TODO: get the actual values from somewhere
         TextView tv = (TextView) findViewById(R.id.maxLevelText);
-        tv.setText("+15 dB");
+        tv.setText(String.format("+%d dB", (int) Math.ceil(mEqualizerMaxBandLevel / 100)));
         tv = (TextView) findViewById(R.id.centerLevelText);
         tv.setText("0 dB");
         tv = (TextView) findViewById(R.id.minLevelText);
-        tv.setText("-15 dB");
+        tv.setText(String.format("%d dB", (int) Math.floor(mEqualizerMinBandLevel / 100)));
         equalizerUpdateDisplay();
     }
 
diff --git a/src/com/android/musicfx/ControlPanelEffect.java b/src/com/android/musicfx/ControlPanelEffect.java
index 7d9e5a1..25845b8 100644
--- a/src/com/android/musicfx/ControlPanelEffect.java
+++ b/src/com/android/musicfx/ControlPanelEffect.java
@@ -127,14 +127,14 @@
             14000000 };
     private final static short[] EQUALIZER_PRESET_CIEXTREME_BAND_LEVEL = { 0, 800, 400, 100, 1000 };
     private final static short[] EQUALIZER_PRESET_USER_BAND_LEVEL_DEFAULT = { 0, 0, 0, 0, 0 };
-    private final static short[][] EQUALIZER_PRESET_OPENSL_ES_BAND_LEVEL_DEFAULT = new short[EQUALIZER_NUMBER_PRESETS_DEFAULT][EQUALIZER_NUMBER_BANDS_DEFAULT];
 
     // EQ effect properties which are invariable over all EQ effects sessions
     private static short[] mEQBandLevelRange = EQUALIZER_BAND_LEVEL_RANGE_DEFAULT;
     private static short mEQNumBands = EQUALIZER_NUMBER_BANDS_DEFAULT;
     private static int[] mEQCenterFreq = EQUALIZER_CENTER_FREQ_DEFAULT;
     private static short mEQNumPresets = EQUALIZER_NUMBER_PRESETS_DEFAULT;
-    private static short[][] mEQPresetOpenSLESBandLevel = EQUALIZER_PRESET_OPENSL_ES_BAND_LEVEL_DEFAULT;
+    private static short[][] mEQPresetOpenSLESBandLevel =
+            new short[EQUALIZER_NUMBER_PRESETS_DEFAULT][EQUALIZER_NUMBER_BANDS_DEFAULT];
     private static String[] mEQPresetNames;
     private static boolean mIsEQInitialized = false;
     private final static Object mEQInitLock = new Object();
@@ -251,17 +251,16 @@
 
                         // When there was a failure set some good defaults
                         if (!mIsEQInitialized) {
+                            Log.e(TAG, "Error retrieving default EQ values, setting all presets"
+                                    + " to flat response");
                             mEQPresetOpenSLESBandLevel = new short[mEQNumPresets][mEQNumBands];
                             for (short preset = 0; preset < mEQNumPresets; preset++) {
                                 // Init preset names to a dummy name
                                 mEQPresetNames[preset] = prefs.getString(
                                         Key.eq_preset_name.toString() + preset,
                                         EQUALIZER_PRESET_NAME_DEFAULT + preset);
-                                if (preset < EQUALIZER_PRESET_OPENSL_ES_BAND_LEVEL_DEFAULT.length) {
-                                    mEQPresetOpenSLESBandLevel[preset] = Arrays.copyOf(
-                                            EQUALIZER_PRESET_OPENSL_ES_BAND_LEVEL_DEFAULT[preset],
-                                            mEQNumBands);
-                                }
+                                mEQPresetOpenSLESBandLevel[preset] = Arrays.copyOf(
+                                        EQUALIZER_PRESET_USER_BAND_LEVEL_DEFAULT, mEQNumBands);
                             }
                         }
                     }
@@ -705,7 +704,7 @@
                             EQUALIZER_NUMBER_PRESETS_DEFAULT);
 
                     final short[][] eQPresetOpenSLESBandLevelDefault = Arrays.copyOf(
-                            EQUALIZER_PRESET_OPENSL_ES_BAND_LEVEL_DEFAULT, numBands);
+                            mEQPresetOpenSLESBandLevel, numPresets);
                     final short[] eQPresetCIExtremeBandLevelDefault = Arrays.copyOf(
                             EQUALIZER_PRESET_CIEXTREME_BAND_LEVEL, numBands);
                     final short[] eQPresetUserBandLevelDefault = Arrays.copyOf(
diff --git a/src/com/android/musicfx/SeekBarRotator.java b/src/com/android/musicfx/SeekBarRotator.java
new file mode 100644
index 0000000..d4ef0ca
--- /dev/null
+++ b/src/com/android/musicfx/SeekBarRotator.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.musicfx;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+
+
+/*
+ *  This ViewGroup contains a single view, which will be rotated by 90 degrees counterclockwise.
+ */
+
+public class SeekBarRotator extends ViewGroup {
+
+
+    public SeekBarRotator(Context context) {
+        super(context);
+    }
+
+    public SeekBarRotator(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public SeekBarRotator(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public SeekBarRotator(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        final View child = getChildAt(0);
+
+        if (child.getVisibility() != GONE) {
+            // swap width and height for child
+            measureChild(child, heightMeasureSpec, widthMeasureSpec);
+            setMeasuredDimension(
+                    child.getMeasuredHeightAndState(),
+                    child.getMeasuredWidthAndState());
+        } else {
+            setMeasuredDimension(
+                    resolveSizeAndState(0, widthMeasureSpec, 0),
+                    resolveSizeAndState(0, heightMeasureSpec, 0));
+        }
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int l, int t, int r, int b) {
+        final View child = getChildAt(0);
+
+        if (child.getVisibility() != GONE) {
+            // rotate the child 90 degrees counterclockwise around its upper-left
+            child.setPivotX(0);
+            child.setPivotY(0);
+            child.setRotation(-90);
+
+            // place the child below this view, so it rotates into view
+            int mywidth = r - l;
+            int myheight = b - t;
+            int childwidth = myheight;
+            int childheight = mywidth;
+
+            child.layout(0, myheight, childwidth, myheight + childheight);
+        }
+    }
+
+}
diff --git a/src/com/android/musicfx/seekbar/AbsSeekBar.java b/src/com/android/musicfx/seekbar/AbsSeekBar.java
deleted file mode 100644
index 00ad580..0000000
--- a/src/com/android/musicfx/seekbar/AbsSeekBar.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.musicfx.seekbar;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-import android.view.ViewConfiguration;
-
-public abstract class AbsSeekBar extends ProgressBar {
-    private Drawable mThumb;
-    private int mThumbOffset;
-    
-    /**
-     * On touch, this offset plus the scaled value from the position of the
-     * touch will form the progress value. Usually 0.
-     */
-    float mTouchProgressOffset;
-
-    /**
-     * Whether this is user seekable.
-     */
-    boolean mIsUserSeekable = true;
-
-    boolean mIsVertical = false;
-    /**
-     * On key presses (right or left), the amount to increment/decrement the
-     * progress.
-     */
-    private int mKeyProgressIncrement = 1;
-    
-    private static final int NO_ALPHA = 0xFF;
-    private float mDisabledAlpha;
-    
-    private int mScaledTouchSlop;
-    private float mTouchDownX;
-    private float mTouchDownY;
-    private boolean mIsDragging;
-
-    public AbsSeekBar(Context context) {
-        super(context);
-    }
-
-    public AbsSeekBar(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public AbsSeekBar(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-
-        TypedArray a = context.obtainStyledAttributes(attrs,
-                com.android.internal.R.styleable.SeekBar, defStyle, 0);
-        Drawable thumb = a.getDrawable(com.android.internal.R.styleable.SeekBar_thumb);
-        setThumb(thumb); // will guess mThumbOffset if thumb != null...
-        // ...but allow layout to override this
-        int thumbOffset = a.getDimensionPixelOffset(
-                com.android.internal.R.styleable.SeekBar_thumbOffset, getThumbOffset());
-        setThumbOffset(thumbOffset);
-        a.recycle();
-
-        a = context.obtainStyledAttributes(attrs,
-                com.android.internal.R.styleable.Theme, 0, 0);
-        mDisabledAlpha = a.getFloat(com.android.internal.R.styleable.Theme_disabledAlpha, 0.5f);
-        a.recycle();
-
-        mScaledTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
-    }
-
-    /**
-     * Sets the thumb that will be drawn at the end of the progress meter within the SeekBar.
-     * <p>
-     * If the thumb is a valid drawable (i.e. not null), half its width will be
-     * used as the new thumb offset (@see #setThumbOffset(int)).
-     * 
-     * @param thumb Drawable representing the thumb
-     */
-    public void setThumb(Drawable thumb) {
-        boolean needUpdate;
-        // This way, calling setThumb again with the same bitmap will result in
-        // it recalcuating mThumbOffset (if for example it the bounds of the
-        // drawable changed)
-        if (mThumb != null && thumb != mThumb) {
-            mThumb.setCallback(null);
-            needUpdate = true;
-        } else {
-            needUpdate = false;
-        }
-        if (thumb != null) {
-            thumb.setCallback(this);
-
-            // Assuming the thumb drawable is symmetric, set the thumb offset
-            // such that the thumb will hang halfway off either edge of the
-            // progress bar.
-            if (mIsVertical) {
-                mThumbOffset = thumb.getIntrinsicHeight() / 2;
-            } else {
-                mThumbOffset = thumb.getIntrinsicWidth() / 2;
-            }
-
-            // If we're updating get the new states
-            if (needUpdate &&
-                    (thumb.getIntrinsicWidth() != mThumb.getIntrinsicWidth()
-                        || thumb.getIntrinsicHeight() != mThumb.getIntrinsicHeight())) {
-                requestLayout();
-            }
-        }
-        mThumb = thumb;
-        invalidate();
-        if (needUpdate) {
-            updateThumbPos(getWidth(), getHeight());
-            if (thumb.isStateful()) {
-                // Note that if the states are different this won't work.
-                // For now, let's consider that an app bug.
-                int[] state = getDrawableState();
-                thumb.setState(state);
-            }
-        }
-    }
-
-    /**
-     * @see #setThumbOffset(int)
-     */
-    public int getThumbOffset() {
-        return mThumbOffset;
-    }
-
-    /**
-     * Sets the thumb offset that allows the thumb to extend out of the range of
-     * the track.
-     * 
-     * @param thumbOffset The offset amount in pixels.
-     */
-    public void setThumbOffset(int thumbOffset) {
-        mThumbOffset = thumbOffset;
-        invalidate();
-    }
-
-    /**
-     * Sets the amount of progress changed via the arrow keys.
-     * 
-     * @param increment The amount to increment or decrement when the user
-     *            presses the arrow keys.
-     */
-    public void setKeyProgressIncrement(int increment) {
-        mKeyProgressIncrement = increment < 0 ? -increment : increment;
-    }
-
-    /**
-     * Returns the amount of progress changed via the arrow keys.
-     * <p>
-     * By default, this will be a value that is derived from the max progress.
-     * 
-     * @return The amount to increment or decrement when the user presses the
-     *         arrow keys. This will be positive.
-     */
-    public int getKeyProgressIncrement() {
-        return mKeyProgressIncrement;
-    }
-    
-    @Override
-    public synchronized void setMax(int max) {
-        super.setMax(max);
-
-        if ((mKeyProgressIncrement == 0) || (getMax() / mKeyProgressIncrement > 20)) {
-            // It will take the user too long to change this via keys, change it
-            // to something more reasonable
-            setKeyProgressIncrement(Math.max(1, Math.round((float) getMax() / 20)));
-        }
-    }
-
-    @Override
-    protected boolean verifyDrawable(Drawable who) {
-        return who == mThumb || super.verifyDrawable(who);
-    }
-
-    @Override
-    public void jumpDrawablesToCurrentState() {
-        super.jumpDrawablesToCurrentState();
-        if (mThumb != null) mThumb.jumpToCurrentState();
-    }
-
-    @Override
-    protected void drawableStateChanged() {
-        super.drawableStateChanged();
-        
-        Drawable progressDrawable = getProgressDrawable();
-        if (progressDrawable != null) {
-            progressDrawable.setAlpha(isEnabled() ? NO_ALPHA : (int) (NO_ALPHA * mDisabledAlpha));
-        }
-        
-        if (mThumb != null && mThumb.isStateful()) {
-            int[] state = getDrawableState();
-            mThumb.setState(state);
-        }
-    }
-    
-    @Override
-    void onProgressRefresh(float scale, boolean fromUser) {
-        super.onProgressRefresh(scale, fromUser);
-        Drawable thumb = mThumb;
-        if (thumb != null) {
-            setThumbPos(getWidth(), getHeight(), thumb, scale, Integer.MIN_VALUE);
-            /*
-             * Since we draw translated, the drawable's bounds that it signals
-             * for invalidation won't be the actual bounds we want invalidated,
-             * so just invalidate this whole view.
-             */
-            invalidate();
-        }
-    }
-    
-    
-    @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        updateThumbPos(w, h);
-    }
-
-    private void updateThumbPos(int w, int h) {
-        Drawable d = getCurrentDrawable();
-        Drawable thumb = mThumb;
-        if (mIsVertical) {
-            int thumbWidth = thumb == null ? 0 : thumb.getIntrinsicWidth();
-            // The max width does not incorporate padding, whereas the width
-            // parameter does
-            int trackWidth = Math.min(mMaxWidth, w - mPaddingLeft - mPaddingRight);
-
-            int max = getMax();
-            float scale = max > 0 ? (float) getProgress() / (float) max : 0;
-
-            if (thumbWidth > trackWidth) {
-                if (thumb != null) {
-                    setThumbPos(w, h, thumb, scale, 0);
-                }
-                int gapForCenteringTrack = (thumbWidth - trackWidth) / 2;
-                if (d != null) {
-                    // Canvas will be translated by the padding, so 0,0 is where we start drawing
-                    d.setBounds(gapForCenteringTrack, 0,
-                            w - mPaddingRight - gapForCenteringTrack - mPaddingLeft,
-                            h - mPaddingBottom - mPaddingTop);
-                }
-            } else {
-                if (d != null) {
-                    // Canvas will be translated by the padding, so 0,0 is where we start drawing
-                    d.setBounds(0, 0, w - mPaddingRight - mPaddingLeft, h - mPaddingBottom
-                            - mPaddingTop);
-                }
-                int gap = (trackWidth - thumbWidth) / 2;
-                if (thumb != null) {
-                    setThumbPos(w, h, thumb, scale, gap);
-                }
-            }
-        } else {
-            int thumbHeight = thumb == null ? 0 : thumb.getIntrinsicHeight();
-            // The max height does not incorporate padding, whereas the height
-            // parameter does
-            int trackHeight = Math.min(mMaxHeight, h - mPaddingTop - mPaddingBottom);
-
-            int max = getMax();
-            float scale = max > 0 ? (float) getProgress() / (float) max : 0;
-
-            if (thumbHeight > trackHeight) {
-                if (thumb != null) {
-                    setThumbPos(w, h, thumb, scale, 0);
-                }
-                int gapForCenteringTrack = (thumbHeight - trackHeight) / 2;
-                if (d != null) {
-                    // Canvas will be translated by the padding, so 0,0 is where we start drawing
-                    d.setBounds(0, gapForCenteringTrack,
-                            w - mPaddingRight - mPaddingLeft, h - mPaddingBottom - gapForCenteringTrack
-                            - mPaddingTop);
-                }
-            } else {
-                if (d != null) {
-                    // Canvas will be translated by the padding, so 0,0 is where we start drawing
-                    d.setBounds(0, 0, w - mPaddingRight - mPaddingLeft, h - mPaddingBottom
-                            - mPaddingTop);
-                }
-                int gap = (trackHeight - thumbHeight) / 2;
-                if (thumb != null) {
-                    setThumbPos(w, h, thumb, scale, gap);
-                }
-            }
-        }
-    }
-
-    /**
-     * @param gap If set to {@link Integer#MIN_VALUE}, this will be ignored and
-     */
-    private void setThumbPos(int w, int h, Drawable thumb, float scale, int gap) {
-        int available;
-        int thumbWidth = thumb.getIntrinsicWidth();
-        int thumbHeight = thumb.getIntrinsicHeight();
-        if (mIsVertical) {
-            available = h - mPaddingTop - mPaddingBottom - thumbHeight;
-        } else {
-            available = w - mPaddingLeft - mPaddingRight - thumbWidth;
-        }
-
-        // The extra space for the thumb to move on the track
-        available += mThumbOffset * 2;
-
-
-        if (mIsVertical) {
-            int thumbPos = (int) ((1.0f - scale) * available);
-            int leftBound, rightBound;
-            if (gap == Integer.MIN_VALUE) {
-                Rect oldBounds = thumb.getBounds();
-                leftBound = oldBounds.left;
-                rightBound = oldBounds.right;
-            } else {
-                leftBound = gap;
-                rightBound = gap + thumbWidth;
-            }
-
-            // Canvas will be translated, so 0,0 is where we start drawing
-            thumb.setBounds(leftBound, thumbPos, rightBound, thumbPos + thumbHeight);
-        } else {
-            int thumbPos = (int) (scale * available);
-            int topBound, bottomBound;
-            if (gap == Integer.MIN_VALUE) {
-                Rect oldBounds = thumb.getBounds();
-                topBound = oldBounds.top;
-                bottomBound = oldBounds.bottom;
-            } else {
-                topBound = gap;
-                bottomBound = gap + thumbHeight;
-            }
-
-            // Canvas will be translated, so 0,0 is where we start drawing
-            thumb.setBounds(thumbPos, topBound, thumbPos + thumbWidth, bottomBound);
-        }
-    }
-    
-    @Override
-    protected synchronized void onDraw(Canvas canvas) {
-        super.onDraw(canvas);
-        if (mThumb != null) {
-            canvas.save();
-            // Translate the padding. For the x/y, we need to allow the thumb to
-            // draw in its extra space
-            if (mIsVertical) {
-                canvas.translate(mPaddingLeft, mPaddingTop - mThumbOffset);
-                mThumb.draw(canvas);
-                canvas.restore();
-            } else {
-                canvas.translate(mPaddingLeft - mThumbOffset, mPaddingTop);
-                mThumb.draw(canvas);
-                canvas.restore();
-            }
-        }
-    }
-
-    @Override
-    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        Drawable d = getCurrentDrawable();
-
-        int thumbHeight = mThumb == null ? 0 : mThumb.getIntrinsicHeight();
-        int dw = 0;
-        int dh = 0;
-        if (d != null) {
-            dw = Math.max(mMinWidth, Math.min(mMaxWidth, d.getIntrinsicWidth()));
-            dh = Math.max(mMinHeight, Math.min(mMaxHeight, d.getIntrinsicHeight()));
-            dh = Math.max(thumbHeight, dh);
-        }
-        dw += mPaddingLeft + mPaddingRight;
-        dh += mPaddingTop + mPaddingBottom;
-        
-        setMeasuredDimension(resolveSizeAndState(dw, widthMeasureSpec, 0),
-                resolveSizeAndState(dh, heightMeasureSpec, 0));
-
-        // TODO should probably make this an explicit attribute instead of implicitly
-        // setting it based on the size
-        if (getMeasuredHeight() > getMeasuredWidth()) {
-            mIsVertical = true;
-        }
-    }
-    
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-        if (!mIsUserSeekable || !isEnabled()) {
-            return false;
-        }
-        
-        switch (event.getAction()) {
-            case MotionEvent.ACTION_DOWN:
-                if (isInScrollingContainer()) {
-                    mTouchDownX = event.getX();
-                    mTouchDownY = event.getY();
-                } else {
-                    setPressed(true);
-                    if (mThumb != null) {
-                        invalidate(mThumb.getBounds()); // This may be within the padding region
-                    }
-                    onStartTrackingTouch();
-                    trackTouchEvent(event);
-                    attemptClaimDrag();
-                }
-                break;
-                
-            case MotionEvent.ACTION_MOVE:
-                if (mIsDragging) {
-                    trackTouchEvent(event);
-                } else {
-                    final float x = event.getX();
-                    final float y = event.getX();
-                    if (Math.abs(mIsVertical ?
-                            (y - mTouchDownY) : (x - mTouchDownX)) > mScaledTouchSlop) {
-                        setPressed(true);
-                        if (mThumb != null) {
-                            invalidate(mThumb.getBounds()); // This may be within the padding region
-                        }
-                        onStartTrackingTouch();
-                        trackTouchEvent(event);
-                        attemptClaimDrag();
-                    }
-                }
-                break;
-                
-            case MotionEvent.ACTION_UP:
-                if (mIsDragging) {
-                    trackTouchEvent(event);
-                    onStopTrackingTouch();
-                    setPressed(false);
-                } else {
-                    // Touch up when we never crossed the touch slop threshold should
-                    // be interpreted as a tap-seek to that location.
-                    onStartTrackingTouch();
-                    trackTouchEvent(event);
-                    onStopTrackingTouch();
-                }
-                // ProgressBar doesn't know to repaint the thumb drawable
-                // in its inactive state when the touch stops (because the
-                // value has not apparently changed)
-                invalidate();
-                break;
-                
-            case MotionEvent.ACTION_CANCEL:
-                if (mIsDragging) {
-                    onStopTrackingTouch();
-                    setPressed(false);
-                }
-                invalidate(); // see above explanation
-                break;
-        }
-        return true;
-    }
-
-    private void trackTouchEvent(MotionEvent event) {
-        float progress = 0;
-        if (mIsVertical) {
-            final int height = getHeight();
-            final int available = height - mPaddingTop - mPaddingBottom;
-            int y = (int)event.getY();
-            float scale;
-            if (y < mPaddingTop) {
-                scale = 1.0f;
-            } else if (y > height - mPaddingBottom) {
-                scale = 0.0f;
-            } else {
-                scale = 1.0f - (float)(y - mPaddingTop) / (float)available;
-                progress = mTouchProgressOffset;
-            }
-
-            final int max = getMax();
-            progress += scale * max;
-        } else {
-            final int width = getWidth();
-            final int available = width - mPaddingLeft - mPaddingRight;
-            int x = (int)event.getX();
-            float scale;
-            if (x < mPaddingLeft) {
-                scale = 0.0f;
-            } else if (x > width - mPaddingRight) {
-                scale = 1.0f;
-            } else {
-                scale = (float)(x - mPaddingLeft) / (float)available;
-                progress = mTouchProgressOffset;
-            }
-
-            final int max = getMax();
-            progress += scale * max;
-        }
-        
-        setProgress((int) progress, true);
-    }
-
-    /**
-     * Tries to claim the user's drag motion, and requests disallowing any
-     * ancestors from stealing events in the drag.
-     */
-    private void attemptClaimDrag() {
-        if (mParent != null) {
-            mParent.requestDisallowInterceptTouchEvent(true);
-        }
-    }
-    
-    /**
-     * This is called when the user has started touching this widget.
-     */
-    void onStartTrackingTouch() {
-        mIsDragging = true;
-    }
-
-    /**
-     * This is called when the user either releases his touch or the touch is
-     * canceled.
-     */
-    void onStopTrackingTouch() {
-        mIsDragging = false;
-    }
-
-    /**
-     * Called when the user changes the seekbar's progress by using a key event.
-     */
-    void onKeyChange() {
-    }
-
-    @Override
-    public boolean onKeyDown(int keyCode, KeyEvent event) {
-        if (isEnabled()) {
-            int progress = getProgress();
-            if ((keyCode == KeyEvent.KEYCODE_DPAD_LEFT && !mIsVertical)
-                    || (keyCode == KeyEvent.KEYCODE_DPAD_DOWN && mIsVertical)) {
-                if (progress > 0) {
-                    setProgress(progress - mKeyProgressIncrement, true);
-                    onKeyChange();
-                    return true;
-                }
-            } else if ((keyCode == KeyEvent.KEYCODE_DPAD_RIGHT && !mIsVertical)
-                    || (keyCode == KeyEvent.KEYCODE_DPAD_UP && mIsVertical)) {
-                if (progress < getMax()) {
-                    setProgress(progress + mKeyProgressIncrement, true);
-                    onKeyChange();
-                    return true;
-                }
-            }
-        }
-
-        return super.onKeyDown(keyCode, event);
-    }
-
-}
diff --git a/src/com/android/musicfx/seekbar/ProgressBar.java b/src/com/android/musicfx/seekbar/ProgressBar.java
deleted file mode 100644
index 9c4264d..0000000
--- a/src/com/android/musicfx/seekbar/ProgressBar.java
+++ /dev/null
@@ -1,1146 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.musicfx.seekbar;
-
-import com.android.internal.R;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Bitmap;
-import android.graphics.BitmapShader;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.graphics.Shader;
-import android.graphics.drawable.Animatable;
-import android.graphics.drawable.AnimationDrawable;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.ClipDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.StateListDrawable;
-import android.graphics.drawable.shapes.RoundRectShape;
-import android.graphics.drawable.shapes.Shape;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.os.SystemClock;
-import android.util.AttributeSet;
-import android.view.Gravity;
-import android.view.RemotableViewMethod;
-import android.view.View;
-import android.view.ViewDebug;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
-import android.view.animation.AlphaAnimation;
-import android.view.animation.Animation;
-import android.view.animation.AnimationUtils;
-import android.view.animation.Interpolator;
-import android.view.animation.LinearInterpolator;
-import android.view.animation.Transformation;
-import android.widget.RemoteViews.RemoteView;
-
-
-/**
- * <p>
- * Visual indicator of progress in some operation.  Displays a bar to the user
- * representing how far the operation has progressed; the application can 
- * change the amount of progress (modifying the length of the bar) as it moves 
- * forward.  There is also a secondary progress displayable on a progress bar
- * which is useful for displaying intermediate progress, such as the buffer
- * level during a streaming playback progress bar.
- * </p>
- *
- * <p>
- * A progress bar can also be made indeterminate. In indeterminate mode, the
- * progress bar shows a cyclic animation without an indication of progress. This mode is used by
- * applications when the length of the task is unknown. The indeterminate progress bar can be either
- * a spinning wheel or a horizontal bar.
- * </p>
- *
- * <p>The following code example shows how a progress bar can be used from
- * a worker thread to update the user interface to notify the user of progress:
- * </p>
- * 
- * <pre>
- * public class MyActivity extends Activity {
- *     private static final int PROGRESS = 0x1;
- *
- *     private ProgressBar mProgress;
- *     private int mProgressStatus = 0;
- *
- *     private Handler mHandler = new Handler();
- *
- *     protected void onCreate(Bundle icicle) {
- *         super.onCreate(icicle);
- *
- *         setContentView(R.layout.progressbar_activity);
- *
- *         mProgress = (ProgressBar) findViewById(R.id.progress_bar);
- *
- *         // Start lengthy operation in a background thread
- *         new Thread(new Runnable() {
- *             public void run() {
- *                 while (mProgressStatus &lt; 100) {
- *                     mProgressStatus = doWork();
- *
- *                     // Update the progress bar
- *                     mHandler.post(new Runnable() {
- *                         public void run() {
- *                             mProgress.setProgress(mProgressStatus);
- *                         }
- *                     });
- *                 }
- *             }
- *         }).start();
- *     }
- * }</pre>
- *
- * <p>To add a progress bar to a layout file, you can use the {@code &lt;ProgressBar&gt;} element.
- * By default, the progress bar is a spinning wheel (an indeterminate indicator). To change to a
- * horizontal progress bar, apply the {@link android.R.style#Widget_ProgressBar_Horizontal
- * Widget.ProgressBar.Horizontal} style, like so:</p>
- *
- * <pre>
- * &lt;ProgressBar
- *     style="@android:style/Widget.ProgressBar.Horizontal"
- *     ... /&gt;</pre>
- *
- * <p>If you will use the progress bar to show real progress, you must use the horizontal bar. You
- * can then increment the  progress with {@link #incrementProgressBy incrementProgressBy()} or
- * {@link #setProgress setProgress()}. By default, the progress bar is full when it reaches 100. If
- * necessary, you can adjust the maximum value (the value for a full bar) using the {@link
- * android.R.styleable#ProgressBar_max android:max} attribute. Other attributes available are listed
- * below.</p>
- *
- * <p>Another common style to apply to the progress bar is {@link
- * android.R.style#Widget_ProgressBar_Small Widget.ProgressBar.Small}, which shows a smaller
- * version of the spinning wheel&mdash;useful when waiting for content to load.
- * For example, you can insert this kind of progress bar into your default layout for
- * a view that will be populated by some content fetched from the Internet&mdash;the spinning wheel
- * appears immediately and when your application receives the content, it replaces the progress bar
- * with the loaded content. For example:</p>
- *
- * <pre>
- * &lt;LinearLayout
- *     android:orientation="horizontal"
- *     ... &gt;
- *     &lt;ProgressBar
- *         android:layout_width="wrap_content"
- *         android:layout_height="wrap_content"
- *         style="@android:style/Widget.ProgressBar.Small"
- *         android:layout_marginRight="5dp" /&gt;
- *     &lt;TextView
- *         android:layout_width="wrap_content"
- *         android:layout_height="wrap_content"
- *         android:text="@string/loading" /&gt;
- * &lt;/LinearLayout&gt;</pre>
- *
- * <p>Other progress bar styles provided by the system include:</p>
- * <ul>
- * <li>{@link android.R.style#Widget_ProgressBar_Horizontal Widget.ProgressBar.Horizontal}</li>
- * <li>{@link android.R.style#Widget_ProgressBar_Small Widget.ProgressBar.Small}</li>
- * <li>{@link android.R.style#Widget_ProgressBar_Large Widget.ProgressBar.Large}</li>
- * <li>{@link android.R.style#Widget_ProgressBar_Inverse Widget.ProgressBar.Inverse}</li>
- * <li>{@link android.R.style#Widget_ProgressBar_Small_Inverse
- * Widget.ProgressBar.Small.Inverse}</li>
- * <li>{@link android.R.style#Widget_ProgressBar_Large_Inverse
- * Widget.ProgressBar.Large.Inverse}</li>
- * </ul>
- * <p>The "inverse" styles provide an inverse color scheme for the spinner, which may be necessary
- * if your application uses a light colored theme (a white background).</p>
- *  
- * <p><strong>XML attributes</b></strong> 
- * <p> 
- * See {@link android.R.styleable#ProgressBar ProgressBar Attributes}, 
- * {@link android.R.styleable#View View Attributes}
- * </p>
- * 
- * @attr ref android.R.styleable#ProgressBar_animationResolution
- * @attr ref android.R.styleable#ProgressBar_indeterminate
- * @attr ref android.R.styleable#ProgressBar_indeterminateBehavior
- * @attr ref android.R.styleable#ProgressBar_indeterminateDrawable
- * @attr ref android.R.styleable#ProgressBar_indeterminateDuration
- * @attr ref android.R.styleable#ProgressBar_indeterminateOnly
- * @attr ref android.R.styleable#ProgressBar_interpolator
- * @attr ref android.R.styleable#ProgressBar_max
- * @attr ref android.R.styleable#ProgressBar_maxHeight
- * @attr ref android.R.styleable#ProgressBar_maxWidth
- * @attr ref android.R.styleable#ProgressBar_minHeight
- * @attr ref android.R.styleable#ProgressBar_minWidth
- * @attr ref android.R.styleable#ProgressBar_progress
- * @attr ref android.R.styleable#ProgressBar_progressDrawable
- * @attr ref android.R.styleable#ProgressBar_secondaryProgress
- */
-@RemoteView
-public class ProgressBar extends View {
-    private static final int MAX_LEVEL = 10000;
-    private static final int ANIMATION_RESOLUTION = 200;
-    private static final int TIMEOUT_SEND_ACCESSIBILITY_EVENT = 200;
-
-    int mMinWidth;
-    int mMaxWidth;
-    int mMinHeight;
-    int mMaxHeight;
-
-    private int mProgress;
-    private int mSecondaryProgress;
-    private int mMax;
-
-    private int mBehavior;
-    private int mDuration;
-    private boolean mIndeterminate;
-    private boolean mOnlyIndeterminate;
-    private Transformation mTransformation;
-    private AlphaAnimation mAnimation;
-    private Drawable mIndeterminateDrawable;
-    private Drawable mProgressDrawable;
-    private Drawable mCurrentDrawable;
-    Bitmap mSampleTile;
-    private boolean mNoInvalidate;
-    private Interpolator mInterpolator;
-    private RefreshProgressRunnable mRefreshProgressRunnable;
-    private long mUiThreadId;
-    private boolean mShouldStartAnimationDrawable;
-    private long mLastDrawTime;
-
-    private boolean mInDrawing;
-
-    private int mAnimationResolution;
-
-    private AccessibilityEventSender mAccessibilityEventSender;
-
-    /**
-     * Create a new progress bar with range 0...100 and initial progress of 0.
-     * @param context the application environment
-     */
-    public ProgressBar(Context context) {
-        this(context, null);
-    }
-    
-    public ProgressBar(Context context, AttributeSet attrs) {
-        this(context, attrs, com.android.internal.R.attr.progressBarStyle);
-    }
-
-    public ProgressBar(Context context, AttributeSet attrs, int defStyle) {
-        this(context, attrs, defStyle, 0);
-    }
-
-    /**
-     * @hide
-     */
-    public ProgressBar(Context context, AttributeSet attrs, int defStyle, int styleRes) {
-        super(context, attrs, defStyle);
-        mUiThreadId = Thread.currentThread().getId();
-        initProgressBar();
-
-        TypedArray a =
-            context.obtainStyledAttributes(attrs, R.styleable.ProgressBar, defStyle, styleRes);
-        
-        mNoInvalidate = true;
-        
-        Drawable drawable = a.getDrawable(R.styleable.ProgressBar_progressDrawable);
-        if (drawable != null) {
-            drawable = tileify(drawable, false);
-            // Calling this method can set mMaxHeight, make sure the corresponding
-            // XML attribute for mMaxHeight is read after calling this method
-            setProgressDrawable(drawable);
-        }
-
-
-        mDuration = a.getInt(R.styleable.ProgressBar_indeterminateDuration, mDuration);
-
-        mMinWidth = a.getDimensionPixelSize(R.styleable.ProgressBar_minWidth, mMinWidth);
-        mMaxWidth = a.getDimensionPixelSize(R.styleable.ProgressBar_maxWidth, mMaxWidth);
-        mMinHeight = a.getDimensionPixelSize(R.styleable.ProgressBar_minHeight, mMinHeight);
-        mMaxHeight = a.getDimensionPixelSize(R.styleable.ProgressBar_maxHeight, mMaxHeight);
-
-        mBehavior = a.getInt(R.styleable.ProgressBar_indeterminateBehavior, mBehavior);
-
-        final int resID = a.getResourceId(
-                com.android.internal.R.styleable.ProgressBar_interpolator, 
-                android.R.anim.linear_interpolator); // default to linear interpolator
-        if (resID > 0) {
-            setInterpolator(context, resID);
-        } 
-
-        setMax(a.getInt(R.styleable.ProgressBar_max, mMax));
-
-        setProgress(a.getInt(R.styleable.ProgressBar_progress, mProgress));
-
-        setSecondaryProgress(
-                a.getInt(R.styleable.ProgressBar_secondaryProgress, mSecondaryProgress));
-
-        drawable = a.getDrawable(R.styleable.ProgressBar_indeterminateDrawable);
-        if (drawable != null) {
-            drawable = tileifyIndeterminate(drawable);
-            setIndeterminateDrawable(drawable);
-        }
-
-        mOnlyIndeterminate = a.getBoolean(
-                R.styleable.ProgressBar_indeterminateOnly, mOnlyIndeterminate);
-
-        mNoInvalidate = false;
-
-        setIndeterminate(mOnlyIndeterminate || a.getBoolean(
-                R.styleable.ProgressBar_indeterminate, mIndeterminate));
-
-        mAnimationResolution = a.getInteger(R.styleable.ProgressBar_animationResolution,
-                ANIMATION_RESOLUTION);
-
-        a.recycle();
-    }
-
-    /**
-     * Converts a drawable to a tiled version of itself. It will recursively
-     * traverse layer and state list drawables.
-     */
-    private Drawable tileify(Drawable drawable, boolean clip) {
-        
-        if (drawable instanceof LayerDrawable) {
-            LayerDrawable background = (LayerDrawable) drawable;
-            final int N = background.getNumberOfLayers();
-            Drawable[] outDrawables = new Drawable[N];
-            
-            for (int i = 0; i < N; i++) {
-                int id = background.getId(i);
-                outDrawables[i] = tileify(background.getDrawable(i),
-                        (id == R.id.progress || id == R.id.secondaryProgress));
-            }
-
-            LayerDrawable newBg = new LayerDrawable(outDrawables);
-            
-            for (int i = 0; i < N; i++) {
-                newBg.setId(i, background.getId(i));
-            }
-            
-            return newBg;
-            
-        } else if (drawable instanceof StateListDrawable) {
-            StateListDrawable in = (StateListDrawable) drawable;
-            StateListDrawable out = new StateListDrawable();
-            int numStates = in.getStateCount();
-            for (int i = 0; i < numStates; i++) {
-                out.addState(in.getStateSet(i), tileify(in.getStateDrawable(i), clip));
-            }
-            return out;
-            
-        } else if (drawable instanceof BitmapDrawable) {
-            final Bitmap tileBitmap = ((BitmapDrawable) drawable).getBitmap();
-            if (mSampleTile == null) {
-                mSampleTile = tileBitmap;
-            }
-            
-            final ShapeDrawable shapeDrawable = new ShapeDrawable(getDrawableShape());
-
-            final BitmapShader bitmapShader = new BitmapShader(tileBitmap,
-                    Shader.TileMode.REPEAT, Shader.TileMode.CLAMP);
-            shapeDrawable.getPaint().setShader(bitmapShader);
-
-            return (clip) ? new ClipDrawable(shapeDrawable, Gravity.LEFT,
-                    ClipDrawable.HORIZONTAL) : shapeDrawable;
-        }
-        
-        return drawable;
-    }
-
-    Shape getDrawableShape() {
-        final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 };
-        return new RoundRectShape(roundedCorners, null, null);
-    }
-    
-    /**
-     * Convert a AnimationDrawable for use as a barberpole animation.
-     * Each frame of the animation is wrapped in a ClipDrawable and
-     * given a tiling BitmapShader.
-     */
-    private Drawable tileifyIndeterminate(Drawable drawable) {
-        if (drawable instanceof AnimationDrawable) {
-            AnimationDrawable background = (AnimationDrawable) drawable;
-            final int N = background.getNumberOfFrames();
-            AnimationDrawable newBg = new AnimationDrawable();
-            newBg.setOneShot(background.isOneShot());
-            
-            for (int i = 0; i < N; i++) {
-                Drawable frame = tileify(background.getFrame(i), true);
-                frame.setLevel(10000);
-                newBg.addFrame(frame, background.getDuration(i));
-            }
-            newBg.setLevel(10000);
-            drawable = newBg;
-        }
-        return drawable;
-    }
-    
-    /**
-     * <p>
-     * Initialize the progress bar's default values:
-     * </p>
-     * <ul>
-     * <li>progress = 0</li>
-     * <li>max = 100</li>
-     * <li>animation duration = 4000 ms</li>
-     * <li>indeterminate = false</li>
-     * <li>behavior = repeat</li>
-     * </ul>
-     */
-    private void initProgressBar() {
-        mMax = 100;
-        mProgress = 0;
-        mSecondaryProgress = 0;
-        mIndeterminate = false;
-        mOnlyIndeterminate = false;
-        mDuration = 4000;
-        mBehavior = AlphaAnimation.RESTART;
-        mMinWidth = 24;
-        mMaxWidth = 48;
-        mMinHeight = 24;
-        mMaxHeight = 48;
-    }
-
-    /**
-     * <p>Indicate whether this progress bar is in indeterminate mode.</p>
-     *
-     * @return true if the progress bar is in indeterminate mode
-     */
-    @ViewDebug.ExportedProperty(category = "progress")
-    public synchronized boolean isIndeterminate() {
-        return mIndeterminate;
-    }
-
-    /**
-     * <p>Change the indeterminate mode for this progress bar. In indeterminate
-     * mode, the progress is ignored and the progress bar shows an infinite
-     * animation instead.</p>
-     * 
-     * If this progress bar's style only supports indeterminate mode (such as the circular
-     * progress bars), then this will be ignored.
-     *
-     * @param indeterminate true to enable the indeterminate mode
-     */
-    @android.view.RemotableViewMethod
-    public synchronized void setIndeterminate(boolean indeterminate) {
-        if ((!mOnlyIndeterminate || !mIndeterminate) && indeterminate != mIndeterminate) {
-            mIndeterminate = indeterminate;
-
-            if (indeterminate) {
-                // swap between indeterminate and regular backgrounds
-                mCurrentDrawable = mIndeterminateDrawable;
-                startAnimation();
-            } else {
-                mCurrentDrawable = mProgressDrawable;
-                stopAnimation();
-            }
-        }
-    }
-
-    /**
-     * <p>Get the drawable used to draw the progress bar in
-     * indeterminate mode.</p>
-     *
-     * @return a {@link android.graphics.drawable.Drawable} instance
-     *
-     * @see #setIndeterminateDrawable(android.graphics.drawable.Drawable)
-     * @see #setIndeterminate(boolean)
-     */
-    public Drawable getIndeterminateDrawable() {
-        return mIndeterminateDrawable;
-    }
-
-    /**
-     * <p>Define the drawable used to draw the progress bar in
-     * indeterminate mode.</p>
-     *
-     * @param d the new drawable
-     *
-     * @see #getIndeterminateDrawable()
-     * @see #setIndeterminate(boolean)
-     */
-    public void setIndeterminateDrawable(Drawable d) {
-        if (d != null) {
-            d.setCallback(this);
-        }
-        mIndeterminateDrawable = d;
-        if (mIndeterminate) {
-            mCurrentDrawable = d;
-            postInvalidate();
-        }
-    }
-    
-    /**
-     * <p>Get the drawable used to draw the progress bar in
-     * progress mode.</p>
-     *
-     * @return a {@link android.graphics.drawable.Drawable} instance
-     *
-     * @see #setProgressDrawable(android.graphics.drawable.Drawable)
-     * @see #setIndeterminate(boolean)
-     */
-    public Drawable getProgressDrawable() {
-        return mProgressDrawable;
-    }
-
-    /**
-     * <p>Define the drawable used to draw the progress bar in
-     * progress mode.</p>
-     *
-     * @param d the new drawable
-     *
-     * @see #getProgressDrawable()
-     * @see #setIndeterminate(boolean)
-     */
-    public void setProgressDrawable(Drawable d) {
-        boolean needUpdate;
-        if (mProgressDrawable != null && d != mProgressDrawable) {
-            mProgressDrawable.setCallback(null);
-            needUpdate = true;
-        } else {
-            needUpdate = false;
-        }
-
-        if (d != null) {
-            d.setCallback(this);
-
-            // Make sure the ProgressBar is always tall enough
-            int drawableHeight = d.getMinimumHeight();
-            if (mMaxHeight < drawableHeight) {
-                mMaxHeight = drawableHeight;
-                requestLayout();
-            }
-        }
-        mProgressDrawable = d;
-        if (!mIndeterminate) {
-            mCurrentDrawable = d;
-            postInvalidate();
-        }
-
-        if (needUpdate) {
-            updateDrawableBounds(getWidth(), getHeight());
-            updateDrawableState();
-            doRefreshProgress(R.id.progress, mProgress, false, false);
-            doRefreshProgress(R.id.secondaryProgress, mSecondaryProgress, false, false);
-        }
-    }
-    
-    /**
-     * @return The drawable currently used to draw the progress bar
-     */
-    Drawable getCurrentDrawable() {
-        return mCurrentDrawable;
-    }
-
-    @Override
-    protected boolean verifyDrawable(Drawable who) {
-        return who == mProgressDrawable || who == mIndeterminateDrawable
-                || super.verifyDrawable(who);
-    }
-
-    @Override
-    public void jumpDrawablesToCurrentState() {
-        super.jumpDrawablesToCurrentState();
-        if (mProgressDrawable != null) mProgressDrawable.jumpToCurrentState();
-        if (mIndeterminateDrawable != null) mIndeterminateDrawable.jumpToCurrentState();
-    }
-
-    @Override
-    public void postInvalidate() {
-        if (!mNoInvalidate) {
-            super.postInvalidate();
-        }
-    }
-
-    private class RefreshProgressRunnable implements Runnable {
-
-        private int mId;
-        private int mProgress;
-        private boolean mFromUser;
-        
-        RefreshProgressRunnable(int id, int progress, boolean fromUser) {
-            mId = id;
-            mProgress = progress;
-            mFromUser = fromUser;
-        }
-        
-        public void run() {
-            doRefreshProgress(mId, mProgress, mFromUser, true);
-            // Put ourselves back in the cache when we are done
-            mRefreshProgressRunnable = this;
-        }
-        
-        public void setup(int id, int progress, boolean fromUser) {
-            mId = id;
-            mProgress = progress;
-            mFromUser = fromUser;
-        }
-        
-    }
-    
-    private synchronized void doRefreshProgress(int id, int progress, boolean fromUser,
-            boolean callBackToApp) {
-        float scale = mMax > 0 ? (float) progress / (float) mMax : 0;
-        final Drawable d = mCurrentDrawable;
-        if (d != null) {
-            Drawable progressDrawable = null;
-
-            if (d instanceof LayerDrawable) {
-                progressDrawable = ((LayerDrawable) d).findDrawableByLayerId(id);
-            }
-
-            final int level = (int) (scale * MAX_LEVEL);
-            (progressDrawable != null ? progressDrawable : d).setLevel(level);
-        } else {
-            invalidate();
-        }
-        
-        if (callBackToApp && id == R.id.progress) {
-            onProgressRefresh(scale, fromUser);
-        }
-    }
-
-    void onProgressRefresh(float scale, boolean fromUser) {
-        if (AccessibilityManager.getInstance(mContext).isEnabled()) {
-            scheduleAccessibilityEventSender();
-        }
-    }
-
-    private synchronized void refreshProgress(int id, int progress, boolean fromUser) {
-        if (mUiThreadId == Thread.currentThread().getId()) {
-            doRefreshProgress(id, progress, fromUser, true);
-        } else {
-            RefreshProgressRunnable r;
-            if (mRefreshProgressRunnable != null) {
-                // Use cached RefreshProgressRunnable if available
-                r = mRefreshProgressRunnable;
-                // Uncache it
-                mRefreshProgressRunnable = null;
-                r.setup(id, progress, fromUser);
-            } else {
-                // Make a new one
-                r = new RefreshProgressRunnable(id, progress, fromUser);
-            }
-            post(r);
-        }
-    }
-    
-    /**
-     * <p>Set the current progress to the specified value. Does not do anything
-     * if the progress bar is in indeterminate mode.</p>
-     *
-     * @param progress the new progress, between 0 and {@link #getMax()}
-     *
-     * @see #setIndeterminate(boolean)
-     * @see #isIndeterminate()
-     * @see #getProgress()
-     * @see #incrementProgressBy(int) 
-     */
-    @android.view.RemotableViewMethod
-    public synchronized void setProgress(int progress) {
-        setProgress(progress, false);
-    }
-    
-    @android.view.RemotableViewMethod
-    synchronized void setProgress(int progress, boolean fromUser) {
-        if (mIndeterminate) {
-            return;
-        }
-
-        if (progress < 0) {
-            progress = 0;
-        }
-
-        if (progress > mMax) {
-            progress = mMax;
-        }
-
-        if (progress != mProgress) {
-            mProgress = progress;
-            refreshProgress(R.id.progress, mProgress, fromUser);
-        }
-    }
-
-    /**
-     * <p>
-     * Set the current secondary progress to the specified value. Does not do
-     * anything if the progress bar is in indeterminate mode.
-     * </p>
-     * 
-     * @param secondaryProgress the new secondary progress, between 0 and {@link #getMax()}
-     * @see #setIndeterminate(boolean)
-     * @see #isIndeterminate()
-     * @see #getSecondaryProgress()
-     * @see #incrementSecondaryProgressBy(int)
-     */
-    @android.view.RemotableViewMethod
-    public synchronized void setSecondaryProgress(int secondaryProgress) {
-        if (mIndeterminate) {
-            return;
-        }
-
-        if (secondaryProgress < 0) {
-            secondaryProgress = 0;
-        }
-
-        if (secondaryProgress > mMax) {
-            secondaryProgress = mMax;
-        }
-
-        if (secondaryProgress != mSecondaryProgress) {
-            mSecondaryProgress = secondaryProgress;
-            refreshProgress(R.id.secondaryProgress, mSecondaryProgress, false);
-        }
-    }
-
-    /**
-     * <p>Get the progress bar's current level of progress. Return 0 when the
-     * progress bar is in indeterminate mode.</p>
-     *
-     * @return the current progress, between 0 and {@link #getMax()}
-     *
-     * @see #setIndeterminate(boolean)
-     * @see #isIndeterminate()
-     * @see #setProgress(int)
-     * @see #setMax(int)
-     * @see #getMax()
-     */
-    @ViewDebug.ExportedProperty(category = "progress")
-    public synchronized int getProgress() {
-        return mIndeterminate ? 0 : mProgress;
-    }
-
-    /**
-     * <p>Get the progress bar's current level of secondary progress. Return 0 when the
-     * progress bar is in indeterminate mode.</p>
-     *
-     * @return the current secondary progress, between 0 and {@link #getMax()}
-     *
-     * @see #setIndeterminate(boolean)
-     * @see #isIndeterminate()
-     * @see #setSecondaryProgress(int)
-     * @see #setMax(int)
-     * @see #getMax()
-     */
-    @ViewDebug.ExportedProperty(category = "progress")
-    public synchronized int getSecondaryProgress() {
-        return mIndeterminate ? 0 : mSecondaryProgress;
-    }
-
-    /**
-     * <p>Return the upper limit of this progress bar's range.</p>
-     *
-     * @return a positive integer
-     *
-     * @see #setMax(int)
-     * @see #getProgress()
-     * @see #getSecondaryProgress()
-     */
-    @ViewDebug.ExportedProperty(category = "progress")
-    public synchronized int getMax() {
-        return mMax;
-    }
-
-    /**
-     * <p>Set the range of the progress bar to 0...<tt>max</tt>.</p>
-     *
-     * @param max the upper range of this progress bar
-     *
-     * @see #getMax()
-     * @see #setProgress(int) 
-     * @see #setSecondaryProgress(int) 
-     */
-    @android.view.RemotableViewMethod
-    public synchronized void setMax(int max) {
-        if (max < 0) {
-            max = 0;
-        }
-        if (max != mMax) {
-            mMax = max;
-            postInvalidate();
-
-            if (mProgress > max) {
-                mProgress = max;
-            }
-            refreshProgress(R.id.progress, mProgress, false);
-        }
-    }
-    
-    /**
-     * <p>Increase the progress bar's progress by the specified amount.</p>
-     *
-     * @param diff the amount by which the progress must be increased
-     *
-     * @see #setProgress(int) 
-     */
-    public synchronized final void incrementProgressBy(int diff) {
-        setProgress(mProgress + diff);
-    }
-
-    /**
-     * <p>Increase the progress bar's secondary progress by the specified amount.</p>
-     *
-     * @param diff the amount by which the secondary progress must be increased
-     *
-     * @see #setSecondaryProgress(int) 
-     */
-    public synchronized final void incrementSecondaryProgressBy(int diff) {
-        setSecondaryProgress(mSecondaryProgress + diff);
-    }
-
-    /**
-     * <p>Start the indeterminate progress animation.</p>
-     */
-    void startAnimation() {
-        if (getVisibility() != VISIBLE) {
-            return;
-        }
-
-        if (mIndeterminateDrawable instanceof Animatable) {
-            mShouldStartAnimationDrawable = true;
-            mAnimation = null;
-        } else {
-            if (mInterpolator == null) {
-                mInterpolator = new LinearInterpolator();
-            }
-    
-            mTransformation = new Transformation();
-            mAnimation = new AlphaAnimation(0.0f, 1.0f);
-            mAnimation.setRepeatMode(mBehavior);
-            mAnimation.setRepeatCount(Animation.INFINITE);
-            mAnimation.setDuration(mDuration);
-            mAnimation.setInterpolator(mInterpolator);
-            mAnimation.setStartTime(Animation.START_ON_FIRST_FRAME);
-        }
-        postInvalidate();
-    }
-
-    /**
-     * <p>Stop the indeterminate progress animation.</p>
-     */
-    void stopAnimation() {
-        mAnimation = null;
-        mTransformation = null;
-        if (mIndeterminateDrawable instanceof Animatable) {
-            ((Animatable) mIndeterminateDrawable).stop();
-            mShouldStartAnimationDrawable = false;
-        }
-        postInvalidate();
-    }
-
-    /**
-     * Sets the acceleration curve for the indeterminate animation.
-     * The interpolator is loaded as a resource from the specified context.
-     *
-     * @param context The application environment
-     * @param resID The resource identifier of the interpolator to load
-     */
-    public void setInterpolator(Context context, int resID) {
-        setInterpolator(AnimationUtils.loadInterpolator(context, resID));
-    }
-
-    /**
-     * Sets the acceleration curve for the indeterminate animation.
-     * Defaults to a linear interpolation.
-     *
-     * @param interpolator The interpolator which defines the acceleration curve
-     */
-    public void setInterpolator(Interpolator interpolator) {
-        mInterpolator = interpolator;
-    }
-
-    /**
-     * Gets the acceleration curve type for the indeterminate animation.
-     *
-     * @return the {@link Interpolator} associated to this animation
-     */
-    public Interpolator getInterpolator() {
-        return mInterpolator;
-    }
-
-    @Override
-    @RemotableViewMethod
-    public void setVisibility(int v) {
-        if (getVisibility() != v) {
-            super.setVisibility(v);
-
-            if (mIndeterminate) {
-                // let's be nice with the UI thread
-                if (v == GONE || v == INVISIBLE) {
-                    stopAnimation();
-                } else {
-                    startAnimation();
-                }
-            }
-        }
-    }
-
-    @Override
-    protected void onVisibilityChanged(View changedView, int visibility) {
-        super.onVisibilityChanged(changedView, visibility);
-
-        if (mIndeterminate) {
-            // let's be nice with the UI thread
-            if (visibility == GONE || visibility == INVISIBLE) {
-                stopAnimation();
-            } else {
-                startAnimation();
-            }
-        }
-    }
-
-    @Override
-    public void invalidateDrawable(Drawable dr) {
-        if (!mInDrawing) {
-            if (verifyDrawable(dr)) {
-                final Rect dirty = dr.getBounds();
-                final int scrollX = mScrollX + mPaddingLeft;
-                final int scrollY = mScrollY + mPaddingTop;
-
-                invalidate(dirty.left + scrollX, dirty.top + scrollY,
-                        dirty.right + scrollX, dirty.bottom + scrollY);
-            } else {
-                super.invalidateDrawable(dr);
-            }
-        }
-    }
-
-    @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        updateDrawableBounds(w, h);
-    }
-
-    private void updateDrawableBounds(int w, int h) {
-        // onDraw will translate the canvas so we draw starting at 0,0
-        int right = w - mPaddingRight - mPaddingLeft;
-        int bottom = h - mPaddingBottom - mPaddingTop;
-        int top = 0;
-        int left = 0;
-
-        if (mIndeterminateDrawable != null) {
-            // Aspect ratio logic does not apply to AnimationDrawables
-            if (mOnlyIndeterminate && !(mIndeterminateDrawable instanceof AnimationDrawable)) {
-                // Maintain aspect ratio. Certain kinds of animated drawables
-                // get very confused otherwise.
-                final int intrinsicWidth = mIndeterminateDrawable.getIntrinsicWidth();
-                final int intrinsicHeight = mIndeterminateDrawable.getIntrinsicHeight();
-                final float intrinsicAspect = (float) intrinsicWidth / intrinsicHeight;
-                final float boundAspect = (float) w / h;
-                if (intrinsicAspect != boundAspect) {
-                    if (boundAspect > intrinsicAspect) {
-                        // New width is larger. Make it smaller to match height.
-                        final int width = (int) (h * intrinsicAspect);
-                        left = (w - width) / 2;
-                        right = left + width;
-                    } else {
-                        // New height is larger. Make it smaller to match width.
-                        final int height = (int) (w * (1 / intrinsicAspect));
-                        top = (h - height) / 2;
-                        bottom = top + height;
-                    }
-                }
-            }
-            mIndeterminateDrawable.setBounds(left, top, right, bottom);
-        }
-        
-        if (mProgressDrawable != null) {
-            mProgressDrawable.setBounds(0, 0, right, bottom);
-        }
-    }
-
-    @Override
-    protected synchronized void onDraw(Canvas canvas) {
-        super.onDraw(canvas);
-
-        Drawable d = mCurrentDrawable;
-        if (d != null) {
-            // Translate canvas so a indeterminate circular progress bar with padding
-            // rotates properly in its animation
-            canvas.save();
-            canvas.translate(mPaddingLeft, mPaddingTop);
-            long time = getDrawingTime();
-            if (mAnimation != null) {
-                mAnimation.getTransformation(time, mTransformation);
-                float scale = mTransformation.getAlpha();
-                try {
-                    mInDrawing = true;
-                    d.setLevel((int) (scale * MAX_LEVEL));
-                } finally {
-                    mInDrawing = false;
-                }
-                if (SystemClock.uptimeMillis() - mLastDrawTime >= mAnimationResolution) {
-                    mLastDrawTime = SystemClock.uptimeMillis();
-                    postInvalidateDelayed(mAnimationResolution);
-                }
-            }
-            d.draw(canvas);
-            canvas.restore();
-            if (mShouldStartAnimationDrawable && d instanceof Animatable) {
-                ((Animatable) d).start();
-                mShouldStartAnimationDrawable = false;
-            }
-        }
-    }
-
-    @Override
-    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        Drawable d = mCurrentDrawable;
-
-        int dw = 0;
-        int dh = 0;
-        if (d != null) {
-            dw = Math.max(mMinWidth, Math.min(mMaxWidth, d.getIntrinsicWidth()));
-            dh = Math.max(mMinHeight, Math.min(mMaxHeight, d.getIntrinsicHeight()));
-        }
-        updateDrawableState();
-        dw += mPaddingLeft + mPaddingRight;
-        dh += mPaddingTop + mPaddingBottom;
-
-        setMeasuredDimension(resolveSizeAndState(dw, widthMeasureSpec, 0),
-                resolveSizeAndState(dh, heightMeasureSpec, 0));
-    }
-    
-    @Override
-    protected void drawableStateChanged() {
-        super.drawableStateChanged();
-        updateDrawableState();
-    }
-        
-    private void updateDrawableState() {
-        int[] state = getDrawableState();
-        
-        if (mProgressDrawable != null && mProgressDrawable.isStateful()) {
-            mProgressDrawable.setState(state);
-        }
-        
-        if (mIndeterminateDrawable != null && mIndeterminateDrawable.isStateful()) {
-            mIndeterminateDrawable.setState(state);
-        }
-    }
-
-    static class SavedState extends BaseSavedState {
-        int progress;
-        int secondaryProgress;
-        
-        /**
-         * Constructor called from {@link ProgressBar#onSaveInstanceState()}
-         */
-        SavedState(Parcelable superState) {
-            super(superState);
-        }
-        
-        /**
-         * Constructor called from {@link #CREATOR}
-         */
-        private SavedState(Parcel in) {
-            super(in);
-            progress = in.readInt();
-            secondaryProgress = in.readInt();
-        }
-
-        @Override
-        public void writeToParcel(Parcel out, int flags) {
-            super.writeToParcel(out, flags);
-            out.writeInt(progress);
-            out.writeInt(secondaryProgress);
-        }
-
-        public static final Parcelable.Creator<SavedState> CREATOR
-                = new Parcelable.Creator<SavedState>() {
-            public SavedState createFromParcel(Parcel in) {
-                return new SavedState(in);
-            }
-
-            public SavedState[] newArray(int size) {
-                return new SavedState[size];
-            }
-        };
-    }
-
-    @Override
-    public Parcelable onSaveInstanceState() {
-        // Force our ancestor class to save its state
-        Parcelable superState = super.onSaveInstanceState();
-        SavedState ss = new SavedState(superState);
-        
-        ss.progress = mProgress;
-        ss.secondaryProgress = mSecondaryProgress;
-        
-        return ss;
-    }
-
-    @Override
-    public void onRestoreInstanceState(Parcelable state) {
-        SavedState ss = (SavedState) state;
-        super.onRestoreInstanceState(ss.getSuperState());
-        
-        setProgress(ss.progress);
-        setSecondaryProgress(ss.secondaryProgress);
-    }
-
-    @Override
-    protected void onAttachedToWindow() {
-        super.onAttachedToWindow();
-        if (mIndeterminate) {
-            startAnimation();
-        }
-    }
-
-    @Override
-    protected void onDetachedFromWindow() {
-        if (mIndeterminate) {
-            stopAnimation();
-        }
-        if(mRefreshProgressRunnable != null) {
-            removeCallbacks(mRefreshProgressRunnable);
-        }
-        if (mAccessibilityEventSender != null) {
-            removeCallbacks(mAccessibilityEventSender);
-        }
-        // This should come after stopAnimation(), otherwise an invalidate message remains in the
-        // queue, which can prevent the entire view hierarchy from being GC'ed during a rotation
-        super.onDetachedFromWindow();
-    }
-
-    @Override
-    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
-        super.onInitializeAccessibilityEvent(event);
-        event.setItemCount(mMax);
-        event.setCurrentItemIndex(mProgress);
-    }
-
-    /**
-     * Schedule a command for sending an accessibility event.
-     * </br>
-     * Note: A command is used to ensure that accessibility events
-     *       are sent at most one in a given time frame to save
-     *       system resources while the progress changes quickly.
-     */
-    private void scheduleAccessibilityEventSender() {
-        if (mAccessibilityEventSender == null) {
-            mAccessibilityEventSender = new AccessibilityEventSender();
-        } else {
-            removeCallbacks(mAccessibilityEventSender);
-        }
-        postDelayed(mAccessibilityEventSender, TIMEOUT_SEND_ACCESSIBILITY_EVENT);
-    }
-
-    /**
-     * Command for sending an accessibility event.
-     */
-    private class AccessibilityEventSender implements Runnable {
-        public void run() {
-            sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
-        }
-    }
-}
diff --git a/src/com/android/musicfx/seekbar/SeekBar.java b/src/com/android/musicfx/seekbar/SeekBar.java
deleted file mode 100644
index 2be99ce..0000000
--- a/src/com/android/musicfx/seekbar/SeekBar.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.musicfx.seekbar;
-
-import android.content.Context;
-import android.util.AttributeSet;
-
-
-
-/**
- * A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch
- * the thumb and drag left or right to set the current progress level or use the arrow keys.
- * Placing focusable widgets to the left or right of a SeekBar is discouraged. 
- * <p>
- * Clients of the SeekBar can attach a {@link SeekBar.OnSeekBarChangeListener} to
- * be notified of the user's actions.
- *
- * @attr ref android.R.styleable#SeekBar_thumb
- */
-public class SeekBar extends AbsSeekBar {
-
-    /**
-     * A callback that notifies clients when the progress level has been
-     * changed. This includes changes that were initiated by the user through a
-     * touch gesture or arrow key/trackball as well as changes that were initiated
-     * programmatically.
-     */
-    public interface OnSeekBarChangeListener {
-        
-        /**
-         * Notification that the progress level has changed. Clients can use the fromUser parameter
-         * to distinguish user-initiated changes from those that occurred programmatically.
-         * 
-         * @param seekBar The SeekBar whose progress has changed
-         * @param progress The current progress level. This will be in the range 0..max where max
-         *        was set by {@link ProgressBar#setMax(int)}. (The default value for max is 100.)
-         * @param fromUser True if the progress change was initiated by the user.
-         */
-        void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser);
-    
-        /**
-         * Notification that the user has started a touch gesture. Clients may want to use this
-         * to disable advancing the seekbar. 
-         * @param seekBar The SeekBar in which the touch gesture began
-         */
-        void onStartTrackingTouch(SeekBar seekBar);
-        
-        /**
-         * Notification that the user has finished a touch gesture. Clients may want to use this
-         * to re-enable advancing the seekbar. 
-         * @param seekBar The SeekBar in which the touch gesture began
-         */
-        void onStopTrackingTouch(SeekBar seekBar);
-    }
-
-    private OnSeekBarChangeListener mOnSeekBarChangeListener;
-    
-    public SeekBar(Context context) {
-        this(context, null);
-    }
-    
-    public SeekBar(Context context, AttributeSet attrs) {
-        this(context, attrs, com.android.internal.R.attr.seekBarStyle);
-    }
-
-    public SeekBar(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-    }
-
-    @Override
-    void onProgressRefresh(float scale, boolean fromUser) {
-        super.onProgressRefresh(scale, fromUser);
-
-        if (mOnSeekBarChangeListener != null) {
-            mOnSeekBarChangeListener.onProgressChanged(this, getProgress(), fromUser);
-        }
-    }
-
-    /**
-     * Sets a listener to receive notifications of changes to the SeekBar's progress level. Also
-     * provides notifications of when the user starts and stops a touch gesture within the SeekBar.
-     * 
-     * @param l The seek bar notification listener
-     * 
-     * @see SeekBar.OnSeekBarChangeListener
-     */
-    public void setOnSeekBarChangeListener(OnSeekBarChangeListener l) {
-        mOnSeekBarChangeListener = l;
-    }
-    
-    @Override
-    void onStartTrackingTouch() {
-        super.onStartTrackingTouch();
-        if (mOnSeekBarChangeListener != null) {
-            mOnSeekBarChangeListener.onStartTrackingTouch(this);
-        }
-    }
-    
-    @Override
-    void onStopTrackingTouch() {
-        super.onStopTrackingTouch();
-        if (mOnSeekBarChangeListener != null) {
-            mOnSeekBarChangeListener.onStopTrackingTouch(this);
-        }
-    }
-    
-}