Cherish: Navbar: Add setting to toggle navbar

- Enable navbar options

Change-Id: Id2efd9bc0b8246ab7bce545553677d539d9ad55c
Signed-off-by: SagarMakhar <sagarmakhar@gmail.com>
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Alex Cruz
2020-02-19 23:31:11 -05:00
committed by Hưng Phan
parent 74f0ac75d1
commit 0fc1d23109
3 changed files with 30 additions and 9 deletions

View File

@@ -503,4 +503,8 @@
<string name="qs_set_animation_style">%1$s</string> <string name="qs_set_animation_style">%1$s</string>
<string name="qs_set_animation_duration">%1$s</string> <string name="qs_set_animation_duration">%1$s</string>
<string name="qs_set_animation_interpolator">%1$s</string> <string name="qs_set_animation_interpolator">%1$s</string>
<!-- Navigation bar -->
<string name="navigation_bar_title">On-screen navigation bar</string>
<string name="navigation_bar_summary">Enable on-screen navigation keys</string>
</resources> </resources>

View File

@@ -221,5 +221,9 @@
</PreferenceCategory> </PreferenceCategory>
<SwitchPreference
android:key="force_show_navbar"
android:title="@string/navigation_bar_title"
android:summary="@string/navigation_bar_summary" />
</PreferenceScreen> </PreferenceScreen>

View File

@@ -60,6 +60,7 @@ import java.util.List;
public class ButtonSettings extends ActionFragment implements OnPreferenceChangeListener { public class ButtonSettings extends ActionFragment implements OnPreferenceChangeListener {
private static final String HWKEY_DISABLE = "hardware_keys_disable"; private static final String HWKEY_DISABLE = "hardware_keys_disable";
private static final String KEY_NAVIGATION_BAR_ENABLED = "force_show_navbar";
// category keys // category keys
private static final String CATEGORY_HWKEY = "hardware_keys"; private static final String CATEGORY_HWKEY = "hardware_keys";
@@ -90,6 +91,8 @@ public class ButtonSettings extends ActionFragment implements OnPreferenceChange
private CustomSeekBarPreference mManualButtonBrightness; private CustomSeekBarPreference mManualButtonBrightness;
private PreferenceCategory mButtonBackLightCategory; private PreferenceCategory mButtonBackLightCategory;
private SwitchPreference mNavigationBar;
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
@@ -186,6 +189,18 @@ public class ButtonSettings extends ActionFragment implements OnPreferenceChange
if (!enableBacklightOptions) { if (!enableBacklightOptions) {
prefScreen.removePreference(mButtonBackLightCategory); prefScreen.removePreference(mButtonBackLightCategory);
} }
final boolean defaultToNavigationBar = getResources().getBoolean(
com.android.internal.R.bool.config_showNavigationBar);
final boolean navigationBarEnabled = Settings.System.getIntForUser(
resolver, Settings.System.FORCE_SHOW_NAVBAR,
defaultToNavigationBar ? 1 : 0, UserHandle.USER_CURRENT) != 0;
mNavigationBar = (SwitchPreference) findPreference(KEY_NAVIGATION_BAR_ENABLED);
mNavigationBar.setChecked((Settings.System.getInt(getContentResolver(),
Settings.System.FORCE_SHOW_NAVBAR,
defaultToNavigationBar ? 1 : 0) == 1));
mNavigationBar.setOnPreferenceChangeListener(this);
} }
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -203,10 +218,13 @@ public class ButtonSettings extends ActionFragment implements OnPreferenceChange
int buttonBrightness = (Integer) newValue; int buttonBrightness = (Integer) newValue;
Settings.System.putInt(getContentResolver(), Settings.System.putInt(getContentResolver(),
Settings.System.CUSTOM_BUTTON_BRIGHTNESS, buttonBrightness); Settings.System.CUSTOM_BUTTON_BRIGHTNESS, buttonBrightness);
} else { } else if (preference == mNavigationBar) {
return false; boolean value = (Boolean) newValue;
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.FORCE_SHOW_NAVBAR, value ? 1 : 0);
return true;
} }
return true; return false;
} }
@Override @Override
@@ -214,11 +232,6 @@ public class ButtonSettings extends ActionFragment implements OnPreferenceChange
return MetricsProto.MetricsEvent.CHERISH_SETTINGS; return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
} }
@Override
protected boolean usesExtendedActionsList() {
return true;
}
/** /**
* For Search. * For Search.
*/ */