diff --git a/src/com/android/settings/gestures/GestureNavigationSettingsFragment.java b/src/com/android/settings/gestures/GestureNavigationSettingsFragment.java index 692e440d668..8a371ad5845 100644 --- a/src/com/android/settings/gestures/GestureNavigationSettingsFragment.java +++ b/src/com/android/settings/gestures/GestureNavigationSettingsFragment.java @@ -26,6 +26,8 @@ import android.os.Bundle; import android.provider.Settings; import android.view.WindowManager; +import com.android.internal.util.evolution.Utils; + import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.search.BaseSearchIndexProvider; @@ -34,6 +36,8 @@ import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.ButtonPreference; +import lineageos.preference.LineageSystemSettingSwitchPreference; + /** * A fragment to include all the settings related to Gesture Navigation mode. */ @@ -46,6 +50,7 @@ public class GestureNavigationSettingsFragment extends DashboardFragment { "com.android.settings.GESTURE_NAVIGATION_SETTINGS"; static final String ACTION_GESTURE_SANDBOX = "com.android.quickstep.action.GESTURE_SANDBOX"; + private static final String GESTURE_HINT_KEY = "navigation_bar_hint"; private static final String LEFT_EDGE_SEEKBAR_KEY = "gesture_left_back_sensitivity"; private static final String RIGHT_EDGE_SEEKBAR_KEY = "gesture_right_back_sensitivity"; private static final String GESTURE_TUTORIAL_KEY = "assistant_gesture_navigation_tutorial"; @@ -55,6 +60,9 @@ public class GestureNavigationSettingsFragment extends DashboardFragment { private static final String GESTURE_BACK_HEIGHT_KEY = "gesture_back_height"; + private static final String NEXUSLAUNCHER_PACKAGE_NAME = "com.google.android.apps.nexuslauncher"; + private static final String NOGESTUREHINT_OVERLAY = "com.google.android.apps.nexuslauncher.overlay.nogesturehint"; + private WindowManager mWindowManager; private BackGestureIndicatorView mIndicatorView; @@ -91,6 +99,18 @@ public class GestureNavigationSettingsFragment extends DashboardFragment { initSeekBarPreference(RIGHT_EDGE_SEEKBAR_KEY); initSeekBarPreference(GESTURE_BACK_HEIGHT_KEY); initTutorialButton(); + + LineageSystemSettingSwitchPreference gestureHintPref = + getPreferenceScreen().findPreference(GESTURE_HINT_KEY); + + gestureHintPref.setOnPreferenceChangeListener((preference, newValue) -> { + if (Utils.isPackageInstalled(getContext(), NEXUSLAUNCHER_PACKAGE_NAME)) { + Utils.toggleOverlay(getContext(), NOGESTUREHINT_OVERLAY, !(Boolean) newValue); + Utils.restartApp(NEXUSLAUNCHER_PACKAGE_NAME, getContext()); + } + + return true; + }); } @Override