diff --git a/res/xml/gesture_navigation_settings.xml b/res/xml/gesture_navigation_settings.xml
index 7465dd9454ed..7901483f62b7 100644
--- a/res/xml/gesture_navigation_settings.xml
+++ b/res/xml/gesture_navigation_settings.xml
@@ -63,7 +63,19 @@
settings:textEnd="@string/thick_label"
android:dependency="navigation_bar_hint" />
-
+
+ {
+ final int newMode;
+ try {
+ newMode = Integer.parseInt((String) newValue);
+ } catch (NumberFormatException e) {
+ return false;
+ }
+
+ if (newMode < GESTURE_NAVBAR_SPACE_DEFAULT
+ || newMode > GESTURE_NAVBAR_SPACE_MINIMAL) {
+ return false;
+ }
+
+ return Settings.System.putIntForUser(
+ resolver,
+ Settings.System.GESTURE_NAVBAR_SPACE_MODE,
+ newMode,
+ UserHandle.USER_CURRENT);
+ });
+ }
+
private CharSequence formatStateDescription(SliderPreference pref, int progress) {
Locale curLocale = getContext().getResources().getConfiguration().getLocales().get(0);
NumberFormat numberFormat = NumberFormat.getPercentInstance(curLocale);