Cherish:Introduce navbar styles [2/3]

This commit is contained in:
Alex
2020-09-06 21:47:29 +07:00
committed by Hưng Phan
parent 48f1c7eb81
commit 9955575a4c
5 changed files with 75 additions and 0 deletions

8
res/drawable/ic_nav.xml Normal file
View File

@@ -0,0 +1,8 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="?android:attr/colorControlNormal"
android:pathData="M2,2H11V11H2V2M17.5,2C20,2 22,4 22,6.5C22,9 20,11 17.5,11C15,11 13,9 13,6.5C13,4 15,2 17.5,2M6.5,14L11,22H2L6.5,14M19,17H22V19H19V22H17V19H14V17H17V14H19V17Z" />
</vector>

View File

@@ -730,4 +730,21 @@
<item>3</item>
<item>4</item>
</string-array>
<!-- Navbar styles -->
<string-array name="navbar_style_entries" translatable="false">
<item>@string/navbar_default</item>
<item>@string/navbar_asus</item>
<item>@string/navbar_oneplus</item>
<item>@string/navbar_oneui</item>
<item>@string/navbar_tecno</item>
</string-array>
<string-array name="navbar_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
</resources>

View File

@@ -791,4 +791,12 @@
<string name="ui_style_rectangle">Rectangle</string>
<string name="ui_style_round_large">Round Large</string>
<string name="ui_style_round_medium">Round Medium</string>
<!-- Navbar styles -->
<string name="navbar_style_title">Navbar style</string>
<string name="navbar_default">Default</string>
<string name="navbar_asus">ASUS</string>
<string name="navbar_oneplus">OnePlus</string>
<string name="navbar_oneui">One UI</string>
<string name="navbar_tecno">Tecno Camon</string>
</resources>

View File

@@ -72,6 +72,16 @@
android:entries="@array/brightness_slider_style_selector_entries"
android:entryValues="@array/brightness_slider_style_selector_values"
android:persistent="false" />
<!-- Navbar Style -->
<ListPreference
android:key="navbar_style"
android:title="@string/navbar_style_title"
android:icon="@drawable/ic_nav"
android:dialogTitle="@string/navbar_style_title"
android:entries="@array/navbar_style_entries"
android:entryValues="@array/navbar_style_values"
android:defaultValue="0" />
<com.cherish.settings.preferences.SystemSettingIntListPreference
android:key="theming_settings_dashboard_icons"

View File

@@ -53,6 +53,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
private static final String QS_TILE_STYLE = "qs_tile_style";
private static final String QS_HEADER_STYLE = "qs_header_style";
private static final String BRIGHTNESS_SLIDER_STYLE = "brightness_slider_style";
private static final String NAVBAR_STYLE = "navbar_style";
private static final String UI_STYLE = "ui_style";
@@ -68,6 +69,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
private ListPreference mQsHeaderStyle;
private ListPreference mBrightnessSliderStyle;
private ListPreference mUIStyle;
private ListPreference mNavbarStyle;
@Override
public void onCreate(Bundle icicle) {
@@ -148,6 +150,36 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
}
});
mNavbarStyle = (ListPreference) findPreference(NAVBAR_STYLE);
int navbarStyle = Settings.System.getInt(getActivity().getContentResolver(),
Settings.System.NAVBAR_STYLE, 0);
int navbarStyleValue = getOverlayPosition(ThemesUtils.NAVBAR_STYLES);
if (navbarStyleValue != 0) {
mNavbarStyle.setValue(String.valueOf(navbarStyle));
}
mNavbarStyle.setSummary(mNavbarStyle.getEntry());
mNavbarStyle.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference == mNavbarStyle) {
String value = (String) newValue;
Settings.System.putInt(getActivity().getContentResolver(), Settings.System.NAVBAR_STYLE, Integer.valueOf(value));
int valueIndex = mNavbarStyle.findIndexOfValue(value);
mNavbarStyle.setSummary(mNavbarStyle.getEntries()[valueIndex]);
String overlayName = getOverlayName(ThemesUtils.NAVBAR_STYLES);
if (overlayName != null) {
handleOverlays(overlayName, false, mOverlayService);
}
if (valueIndex > 0) {
handleOverlays(ThemesUtils.NAVBAR_STYLES[valueIndex],
true, mOverlayService);
}
return true;
}
return false;
}
});
// Rounded Corner Radius
mCornerRadius = (CustomSeekBarPreference) findPreference(SYSUI_ROUNDED_SIZE);
int resourceIdRadius = (int) ctx.getResources().getDimension(com.android.internal.R.dimen.rounded_corner_radius);