Delete shared preference entry when user select default value

Change-Id: I3fbafd9024c26a99d87376f5d5e359e03988a30f
diff --git a/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java b/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java
index 7c4156c..3ea9fed 100644
--- a/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java
+++ b/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java
@@ -32,6 +32,7 @@
         public int readValue(final String key);
         public int readDefaultValue(final String key);
         public void writeValue(final int value, final String key);
+        public void writeDefaultValue(final String key);
         public void feedbackValue(final int value);
     }
 
@@ -122,12 +123,16 @@
     @Override
     public void onClick(final DialogInterface dialog, final int which) {
         super.onClick(dialog, which);
+        final String key = getKey();
         if (which == DialogInterface.BUTTON_NEUTRAL) {
-            setValue(clipValue(mValueProxy.readDefaultValue(getKey())), false /* fromUser */);
+            setValue(clipValue(mValueProxy.readDefaultValue(key)), false /* fromUser */);
+            mValueProxy.writeDefaultValue(key);
+            return;
         }
-        if (which != DialogInterface.BUTTON_NEGATIVE) {
+        if (which == DialogInterface.BUTTON_POSITIVE) {
             setSummary(mValueView.getText());
-            mValueProxy.writeValue(getClippedValueFromProgress(mSeekBar.getProgress()), getKey());
+            mValueProxy.writeValue(getClippedValueFromProgress(mSeekBar.getProgress()), key);
+            return;
         }
     }
 
diff --git a/java/src/com/android/inputmethod/latin/SettingsFragment.java b/java/src/com/android/inputmethod/latin/SettingsFragment.java
index 4d49372..7225cd6 100644
--- a/java/src/com/android/inputmethod/latin/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/SettingsFragment.java
@@ -329,6 +329,11 @@
             }
 
             @Override
+            public void writeDefaultValue(final String key) {
+                sp.edit().remove(key).apply();
+            }
+
+            @Override
             public int readValue(final String key) {
                 return Settings.readKeypressVibrationDuration(sp, res);
             }
@@ -359,6 +364,11 @@
             }
 
             @Override
+            public void writeDefaultValue(final String key) {
+                sp.edit().remove(key).apply();
+            }
+
+            @Override
             public int readValue(final String key) {
                 return Settings.readKeyLongpressTimeout(sp, res);
             }
@@ -397,6 +407,11 @@
             }
 
             @Override
+            public void writeDefaultValue(final String key) {
+                sp.edit().remove(key).apply();
+            }
+
+            @Override
             public int readValue(final String key) {
                 return getPercentageFromValue(Settings.readKeypressSoundVolume(sp, res));
             }