[2/2] OmniGears: volume key music control

Change-Id: I80ac93c5106205da5c1cefef79b239741e3d175e
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 64b9bd2..32c28fd 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -57,6 +57,8 @@
     <string name="button_volume_keys_title">Volume</string>
     <string name="button_volume_wake_title">Button wake</string>
     <string name="button_volume_wake_summary">Pressing a volume button will wake the device</string>
+    <string name="volume_button_music_control_title">Music control</string>
+    <string name="volume_button_music_control_summary">Long press volume buttons to switch tracks while screen off</string>
     <string name="keys_action_sleep">Go to sleep</string>
     <string name="keys_action_omniswitch">OmniSwitch recents</string>
     <string name="button_home_wake_title">Button wake</string>
diff --git a/res/xml/button_settings.xml b/res/xml/button_settings.xml
index efc4112..4a5e9dd 100644
--- a/res/xml/button_settings.xml
+++ b/res/xml/button_settings.xml
@@ -39,7 +39,8 @@
             android:key="button_volume_wake_screen"
             android:title="@string/button_volume_wake_title"
             android:summary="@string/button_volume_wake_summary"
-            android:persistent="false"/>
+            android:persistent="false"
+            android:disableDependentsState="true" />
 
         <!--<ListPreference
             android:key="button_volume_default_screen"
@@ -47,15 +48,15 @@
             android:summary="@string/button_volume_default_summary"
             android:entries="@array/button_volume_default_entries"
             android:entryValues="@array/button_volume_default_values"
-            android:persistent="false"/>
+            android:persistent="false"/>-->
 
-        <CheckBoxPreference
-            android:key="button_volume_music_control"
-            android:title="@string/button_volume_music_control_title"
-            android:summary="@string/button_volume_music_control_summary"
-            android:persistent="false"/>
+        <com.android.settings.preference.SystemCheckBoxPreference
+            android:key="volume_button_music_control"
+            android:title="@string/volume_button_music_control_title"
+            android:summary="@string/volume_button_music_control_summary"
+            android:dependency="button_volume_wake_screen"/>
 
-        <ListPreference
+        <!-- <ListPreference
             android:key="volume_key_cursor_control"
             android:persistent="false"
             android:dialogTitle="@string/volume_key_cursor_control_title"
diff --git a/src/org/omnirom/omnigears/ButtonSettings.java b/src/org/omnirom/omnigears/ButtonSettings.java
index c2c602e..0ffc508 100644
--- a/src/org/omnirom/omnigears/ButtonSettings.java
+++ b/src/org/omnirom/omnigears/ButtonSettings.java
@@ -83,7 +83,6 @@
     private static final String BUTTON_HOME_WAKE = "button_home_wake_screen";
     private static final String BUTTON_HOME_ANSWERS_CALL = "button_home_answers_call";
 //    private static final String BUTTON_VOLUME_DEFAULT = "button_volume_default_screen";
-//    private static final String BUTTON_VOLUME_MUSIC_CONTROL = "button_volume_music_control";
 //    private static final String VOLUME_KEY_CURSOR_CONTROL = "volume_key_cursor_control";
     private static final String SWAP_VOLUME_BUTTONS = "swap_volume_buttons";
 //    private static final String CATEGORY_HEADSETHOOK = "button_headsethook";
@@ -135,7 +134,6 @@
     private CheckBoxPreference mVolumeWake;
     private CheckBoxPreference mHomeWake;
     private CheckBoxPreference mHomeAnswerCall;
-//    private CheckBoxPreference mVolumeMusicControl;
     private CheckBoxPreference mSwapVolumeButtons;
 //    private ListPreference mVolumeKeyCursorControl;
     private SwitchPreference mEnableCustomBindings;
@@ -207,11 +205,7 @@
 //
 //          mVolumeDefault.setValue(Integer.toString(currentDefault));
 //          mVolumeDefault.setOnPreferenceChangeListener(this);
-//
-//          mVolumeMusicControl = (CheckBoxPreference) findPreference(BUTTON_VOLUME_MUSIC_CONTROL);
-//          mVolumeMusicControl.setChecked(Settings.System.getInt(resolver,
-//                  Settings.System.VOLUME_MUSIC_CONTROL, 0) != 0);
-//
+
             mSwapVolumeButtons = (CheckBoxPreference) findPreference(SWAP_VOLUME_BUTTONS);
             mSwapVolumeButtons.setChecked(Settings.System.getInt(resolver,
                    Settings.System.SWAP_VOLUME_BUTTONS, 0) != 0);
@@ -525,11 +519,6 @@
 //            Settings.System.putInt(getContentResolver(),
 //                    Settings.System.VIRTUAL_KEYS_HAPTIC_FEEDBACK, checked ? 1:0);
 //            return true;
-//        } else if (preference == mVolumeMusicControl) {
-//            boolean checked = ((CheckBoxPreference)preference).isChecked();
-//            Settings.System.putInt(getActivity().getContentResolver(),
-//                    Settings.System.VOLUME_MUSIC_CONTROL, checked ? 1:0);
-//            return true;
 //        } else if (preference == mForceShowOverflowMenu) {
 //            boolean checked = ((CheckBoxPreference)preference).isChecked();
 //            Settings.System.putInt(getContentResolver(),