Add SeekBarDialogPreference

This change removes SeekBarDialog class.

Change-Id: I437b1e554a5af264b8031ebe05b8250a831c8d3b
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 2f1a209..5c6d0e8 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -434,4 +434,9 @@
         <!-- Enable proximity characters correction. Disabled by default. -->
         <attr name="enableProximityCharsCorrection" format="boolean" />
     </declare-styleable>
+
+    <declare-styleable name="SeekBarDialogPreference">
+        <attr name="valueFormatText" format="reference" />
+        <attr name="maxValue" format="integer" />
+    </declare-styleable>
 </resources>
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index dca370a..503e923 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -33,6 +33,7 @@
     <bool name="config_default_next_word_prediction">true</bool>
     <bool name="config_default_sound_enabled">false</bool>
     <bool name="config_default_vibration_enabled">true</bool>
+    <integer name="config_max_vibration_duration">250</integer> <!-- milliseconds -->
     <integer name="config_delay_update_suggestions">100</integer>
     <integer name="config_delay_update_old_suggestions">300</integer>
     <integer name="config_delay_update_shift_state">100</integer>
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index f9d51ff..bf0ba40 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -76,8 +76,8 @@
     <!-- Description for delay for dismissing a popup on screen: default value of the delay [CHAR LIMIT=15] -->
     <string name="key_preview_popup_dismiss_default_delay">Default</string>
 
-    <!-- Units abbreviation for the keypress vibration duration (milliseconds) [CHAR LIMIT=10] -->
-    <string name="settings_keypress_vibration_duration"><xliff:g id="milliseconds">%s</xliff:g>ms</string>
+    <!-- Units abbreviation for the duration (milliseconds) [CHAR LIMIT=10] -->
+    <string name="abbreviation_unit_milliseconds"><xliff:g id="milliseconds">%s</xliff:g>ms</string>
 
     <!-- Option name for enabling or disabling the use of names of people in Contacts for suggestion and correction [CHAR LIMIT=25] -->
     <string name="use_contacts_dict">Suggest Contact names</string>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 4ffbf14..cc1b52b 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -16,6 +16,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     android:title="@string/english_ime_settings"
     android:key="english_ime_settings">
     <PreferenceCategory
@@ -144,12 +145,15 @@
             <ListPreference
                 android:key="pref_key_preview_popup_dismiss_delay"
                 android:title="@string/key_preview_popup_dismiss_delay" />
-            <PreferenceScreen
+            <com.android.inputmethod.latin.SeekBarDialogPreference
                 android:key="pref_vibration_duration_settings"
-                android:title="@string/prefs_keypress_vibration_duration_settings"/>
-            <PreferenceScreen
+                android:title="@string/prefs_keypress_vibration_duration_settings"
+                latin:valueFormatText="@string/abbreviation_unit_milliseconds"
+                latin:maxValue="@integer/config_max_vibration_duration" />
+            <com.android.inputmethod.latin.SeekBarDialogPreference
                 android:key="pref_keypress_sound_volume"
-                android:title="@string/prefs_keypress_sound_volume_settings" />
+                android:title="@string/prefs_keypress_sound_volume_settings"
+                latin:maxValue="100" /> <!-- percent -->
         </PreferenceScreen>
         <PreferenceScreen
             android:key="debug_settings"