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_title">Compact layout</string>
|
||||||
<string name="navigation_bar_compact_layout_summary">Use a compact layout in the navigation bar</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="system_navigation_summary">Choose which system navigation style to use</string>
|
||||||
|
<string name="navbar_layout_category_title">Layout</string>
|
||||||
|
|
||||||
<!-- Volume rocker wake -->
|
<!-- Volume rocker wake -->
|
||||||
<string name="volume_rocker_wake_title">Volume rocker wake</string>
|
<string name="volume_rocker_wake_title">Volume rocker wake</string>
|
||||||
|
|||||||
@@ -18,14 +18,15 @@
|
|||||||
android:title="@string/button_title"
|
android:title="@string/button_title"
|
||||||
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
||||||
|
|
||||||
<!-- SwitchPreference
|
<SwitchPreference
|
||||||
android:key="navbar_visibility"
|
android:key="navbar_visibility"
|
||||||
android:title="@string/navigation_bar_title"
|
android:title="@string/navigation_bar_title"
|
||||||
android:summary="@string/navigation_bar_summary" />-->
|
android:summary="@string/navigation_bar_summary" />
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="navigation_keys"
|
android:key="navbar_layout_category"
|
||||||
android:title="@string/navigation_bar_category">
|
android:title="@string/navbar_layout_category_title"
|
||||||
|
android:dependency="navbar_visibility">
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="gesture_system_navigation_input_summary"
|
android:key="gesture_system_navigation_input_summary"
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ public class ButtonSettings extends ActionFragment implements
|
|||||||
Preference.OnPreferenceChangeListener {
|
Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
private static final String HWKEY_DISABLE = "hardware_keys_disable";
|
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_NAVBAR_INVERSE = "navigation_bar_inverse";
|
||||||
private static final String KEY_NAVIGATION_COMPACT_LAYOUT = "navigation_bar_compact_layout";
|
private static final String KEY_NAVIGATION_COMPACT_LAYOUT = "navigation_bar_compact_layout";
|
||||||
private static final String KEY_SWAP_CAPACITIVE_KEYS = "swap_capacitive_keys";
|
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 PreferenceCategory mHwKeyCategory;
|
||||||
private SecureSettingSwitchPreference mSwapCapacitiveKeys;
|
private SecureSettingSwitchPreference mSwapCapacitiveKeys;
|
||||||
private SwitchPreference mHwKeyDisable;
|
private SwitchPreference mHwKeyDisable;
|
||||||
|
private SwitchPreference mNavbarVisibility;
|
||||||
private SystemSettingSwitchPreference mNavbarInverse;
|
private SystemSettingSwitchPreference mNavbarInverse;
|
||||||
private SystemSettingSwitchPreference mNavigationCompactLayout;
|
private SystemSettingSwitchPreference mNavigationCompactLayout;
|
||||||
|
|
||||||
|
private boolean mIsNavSwitchingMode = false;
|
||||||
|
private Handler mHandler;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
@@ -171,6 +176,14 @@ public class ButtonSettings extends ActionFragment implements
|
|||||||
mNavbarInverse.setEnabled(isThreeButtonNavbarEnabled);
|
mNavbarInverse.setEnabled(isThreeButtonNavbarEnabled);
|
||||||
mNavigationCompactLayout = (SystemSettingSwitchPreference) findPreference(KEY_NAVIGATION_COMPACT_LAYOUT);
|
mNavigationCompactLayout = (SystemSettingSwitchPreference) findPreference(KEY_NAVIGATION_COMPACT_LAYOUT);
|
||||||
mNavigationCompactLayout.setEnabled(isThreeButtonNavbarEnabled);
|
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) {
|
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,
|
Settings.System.putInt(getContentResolver(), Settings.System.HARDWARE_KEYS_DISABLE,
|
||||||
value ? 1 : 0);
|
value ? 1 : 0);
|
||||||
setActionPreferencesEnabled(!value);
|
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 true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user