Cherish:Add support for runtime toggle of navbar[2/2]
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -366,6 +366,7 @@
|
||||
<string name="navigation_bar_compact_layout_title">Compact layout</string>
|
||||
<string name="navigation_bar_compact_layout_summary">Use a compact layout in the navigation bar</string>
|
||||
<string name="system_navigation_summary">Choose which system navigation style to use</string>
|
||||
<string name="navbar_layout_category_title">Layout</string>
|
||||
|
||||
<!-- Volume rocker wake -->
|
||||
<string name="volume_rocker_wake_title">Volume rocker wake</string>
|
||||
|
||||
@@ -18,14 +18,15 @@
|
||||
android:title="@string/button_title"
|
||||
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
||||
|
||||
<!-- SwitchPreference
|
||||
<SwitchPreference
|
||||
android:key="navbar_visibility"
|
||||
android:title="@string/navigation_bar_title"
|
||||
android:summary="@string/navigation_bar_summary" />-->
|
||||
android:summary="@string/navigation_bar_summary" />
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="navigation_keys"
|
||||
android:title="@string/navigation_bar_category">
|
||||
android:key="navbar_layout_category"
|
||||
android:title="@string/navbar_layout_category_title"
|
||||
android:dependency="navbar_visibility">
|
||||
|
||||
<Preference
|
||||
android:key="gesture_system_navigation_input_summary"
|
||||
|
||||
@@ -58,6 +58,7 @@ public class ButtonSettings extends ActionFragment implements
|
||||
Preference.OnPreferenceChangeListener {
|
||||
|
||||
private static final String HWKEY_DISABLE = "hardware_keys_disable";
|
||||
private static final String NAVBAR_VISIBILITY = "navbar_visibility";
|
||||
private static final String KEY_NAVBAR_INVERSE = "navigation_bar_inverse";
|
||||
private static final String KEY_NAVIGATION_COMPACT_LAYOUT = "navigation_bar_compact_layout";
|
||||
private static final String KEY_SWAP_CAPACITIVE_KEYS = "swap_capacitive_keys";
|
||||
@@ -86,8 +87,12 @@ public class ButtonSettings extends ActionFragment implements
|
||||
private PreferenceCategory mHwKeyCategory;
|
||||
private SecureSettingSwitchPreference mSwapCapacitiveKeys;
|
||||
private SwitchPreference mHwKeyDisable;
|
||||
private SwitchPreference mNavbarVisibility;
|
||||
private SystemSettingSwitchPreference mNavbarInverse;
|
||||
private SystemSettingSwitchPreference mNavigationCompactLayout;
|
||||
|
||||
private boolean mIsNavSwitchingMode = false;
|
||||
private Handler mHandler;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
@@ -171,6 +176,14 @@ public class ButtonSettings extends ActionFragment implements
|
||||
mNavbarInverse.setEnabled(isThreeButtonNavbarEnabled);
|
||||
mNavigationCompactLayout = (SystemSettingSwitchPreference) findPreference(KEY_NAVIGATION_COMPACT_LAYOUT);
|
||||
mNavigationCompactLayout.setEnabled(isThreeButtonNavbarEnabled);
|
||||
|
||||
mNavbarVisibility = (SwitchPreference) findPreference(NAVBAR_VISIBILITY);
|
||||
|
||||
boolean showing = Settings.System.getIntForUser(resolver,
|
||||
Settings.System.FORCE_SHOW_NAVBAR,
|
||||
ActionUtils.hasNavbarByDefault(getActivity()) ? 1 : 0, UserHandle.USER_CURRENT) != 0;
|
||||
mNavbarVisibility.setChecked(showing);
|
||||
mNavbarVisibility.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
private static boolean isKeyDisablerSupported(Context context) {
|
||||
@@ -191,6 +204,22 @@ public class ButtonSettings extends ActionFragment implements
|
||||
Settings.System.putInt(getContentResolver(), Settings.System.HARDWARE_KEYS_DISABLE,
|
||||
value ? 1 : 0);
|
||||
setActionPreferencesEnabled(!value);
|
||||
return true;
|
||||
} else if (preference == mNavbarVisibility) {
|
||||
if (mIsNavSwitchingMode) {
|
||||
return false;
|
||||
}
|
||||
mIsNavSwitchingMode = true;
|
||||
boolean showing = ((Boolean)newValue);
|
||||
Settings.System.putIntForUser(resolver, Settings.System.FORCE_SHOW_NAVBAR,
|
||||
showing ? 1 : 0, UserHandle.USER_CURRENT);
|
||||
mNavbarVisibility.setChecked(showing);
|
||||
mHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mIsNavSwitchingMode = false;
|
||||
}
|
||||
}, 1500);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user