diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 4d287eaa9cbe9..b5d482138835c 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -4353,15 +4353,20 @@ public class SettingsProvider extends ContentProvider { } if (navBarMode != -1) { + String overlayPackage = ""; try { - overlayManager.setEnabled(NAV_BAR_MODE_3BUTTON_OVERLAY, - navBarMode == NAV_BAR_MODE_3BUTTON, - UserHandle.USER_CURRENT); - overlayManager.setEnabled(NAV_BAR_MODE_2BUTTON_OVERLAY, - navBarMode == NAV_BAR_MODE_2BUTTON, - UserHandle.USER_CURRENT); - overlayManager.setEnabled(NAV_BAR_MODE_GESTURAL_OVERLAY, - navBarMode == NAV_BAR_MODE_GESTURAL, + switch (navBarMode) { + case NAV_BAR_MODE_3BUTTON: + overlayPackage = NAV_BAR_MODE_3BUTTON_OVERLAY; + break; + case NAV_BAR_MODE_2BUTTON: + overlayPackage = NAV_BAR_MODE_2BUTTON_OVERLAY; + break; + case NAV_BAR_MODE_GESTURAL: + overlayPackage = NAV_BAR_MODE_GESTURAL_OVERLAY; + break; + } + overlayManager.setEnabledExclusiveInCategory(overlayPackage, UserHandle.USER_CURRENT); } catch (RemoteException e) { throw new IllegalStateException(