From 36c7cdc3c5ff1a74e55ded4b37fd82c16331a315 Mon Sep 17 00:00:00 2001
From: Loukious <24696530+Loukious@users.noreply.github.com>
Date: Fri, 31 Jul 2026 22:16:43 +0100
Subject: [PATCH] Settings: add gesture navigation space preference
Add Default, Compact and Minimal navigation space modes to the gesture navigation settings screen.
Write the selected mode to Settings.System.GESTURE_NAVBAR_SPACE_MODE for DisplayPolicy to handle.
---
res/xml/gesture_navigation_settings.xml | 14 +++++-
.../GestureNavigationSettingsFragment.java | 43 +++++++++++++++++++
2 files changed, 56 insertions(+), 1 deletion(-)
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);