Cherish: Introduce navbar styles [3/3]

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
BoredOutOfMyGit
2021-07-05 14:16:11 +07:00
committed by Hưng Phan
parent 0bb1b35939
commit fbb56afb34
4 changed files with 63 additions and 0 deletions

View File

@@ -1294,4 +1294,22 @@
<item>2</item> <item>2</item>
<item>3</item> <item>3</item>
</string-array> </string-array>
<!-- Navbar name -->
<string-array name="navbar_name_entries" translatable="false">
<item>@string/theme_navbar_picker_default</item>
<item>@string/theme_navbar_picker_asus</item>
<item>@string/theme_navbar_picker_oneplus</item>
<item>@string/theme_navbar_picker_oneui</item>
<item>@string/theme_navbar_picker_tecno</item>
</string-array>
<!-- Navbar style layouts -->
<string-array name="navbar_picker_values" translatable="false">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
</string-array>
</resources> </resources>

View File

@@ -1254,4 +1254,13 @@
<string name="alarm_blocker_reload">Reload</string> <string name="alarm_blocker_reload">Reload</string>
<string name="alarm_blocker_warning_title">Proceed with caution</string> <string name="alarm_blocker_warning_title">Proceed with caution</string>
<string name="alarm_blocker_warning">Blocking alarms have the potential to cause instability, crashes or data loss.</string> <string name="alarm_blocker_warning">Blocking alarms have the potential to cause instability, crashes or data loss.</string>
<!-- Navbar Picker -->
<string name="theme_navbar_picker_title">Navbar style (for 3-button nav)</string>
<string name="theme_navbar_picker_summary">Select navbar style</string>
<string name="theme_navbar_picker_default">Default</string>
<string name="theme_navbar_picker_oneplus">OnePlus</string>
<string name="theme_navbar_picker_oneui">One UI</string>
<string name="theme_navbar_picker_tecno">Tecno Camon</string>
<string name="theme_navbar_picker_asus">ASUS</string>
</resources> </resources>

View File

@@ -46,6 +46,15 @@
android:entryValues="@array/ui_style_selector_values" android:entryValues="@array/ui_style_selector_values"
android:persistent="false" /> android:persistent="false" />
<!-- Navbar styles -->
<ListPreference
android:key="theme_navbar_style"
android:title="@string/theme_navbar_picker_title"
android:dialogTitle="@string/theme_navbar_picker_summary"
android:summary="%s"
android:entries="@array/navbar_name_entries"
android:entryValues="@array/navbar_picker_values"/>
<com.cherish.settings.preferences.SystemSettingListPreference <com.cherish.settings.preferences.SystemSettingListPreference
android:key="switch_style" android:key="switch_style"
android:icon="@drawable/ic_switch_theme" android:icon="@drawable/ic_switch_theme"

View File

@@ -16,6 +16,8 @@ import android.os.UserHandle;
import android.os.Bundle; import android.os.Bundle;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.os.ServiceManager; import android.os.ServiceManager;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.content.om.IOverlayManager; import android.content.om.IOverlayManager;
import android.content.om.OverlayInfo; import android.content.om.OverlayInfo;
import android.os.RemoteException; import android.os.RemoteException;
@@ -70,6 +72,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
static final int DEFAULT = 0xff1a73e8; static final int DEFAULT = 0xff1a73e8;
private static final String QS_PANEL_COLOR = "qs_panel_color"; private static final String QS_PANEL_COLOR = "qs_panel_color";
private static final String SWITCH_STYLE = "switch_style"; private static final String SWITCH_STYLE = "switch_style";
private static final String PREF_NAVBAR_STYLE = "theme_navbar_style";
private SystemSettingListPreference mSwitchStyle; private SystemSettingListPreference mSwitchStyle;
private ColorPickerPreference mQsPanelColor; private ColorPickerPreference mQsPanelColor;
@@ -85,6 +88,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
private ListPreference mQsHeaderStyle; private ListPreference mQsHeaderStyle;
private ListPreference mQsTileStyle; private ListPreference mQsTileStyle;
private ListPreference mGesbar; private ListPreference mGesbar;
private ListPreference mNavbarPicker;
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
@@ -102,6 +106,16 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
mSwitchStyle.setSummary(mSwitchStyle.getEntry()); mSwitchStyle.setSummary(mSwitchStyle.getEntry());
mSwitchStyle.setOnPreferenceChangeListener(this); mSwitchStyle.setOnPreferenceChangeListener(this);
mNavbarPicker = (ListPreference) findPreference(PREF_NAVBAR_STYLE);
int navbarStyleValues = getOverlayPosition(ThemesUtils.NAVBAR_STYLES);
if (navbarStyleValues != -1) {
mNavbarPicker.setValue(String.valueOf(navbarStyleValues + 2));
} else {
mNavbarPicker.setValue("1");
}
mNavbarPicker.setSummary(mNavbarPicker.getEntry());
mNavbarPicker.setOnPreferenceChangeListener(this);
mUIStyle = (ListPreference) findPreference(UI_STYLE); mUIStyle = (ListPreference) findPreference(UI_STYLE);
int UIStyle = Settings.System.getInt(getActivity().getContentResolver(), int UIStyle = Settings.System.getInt(getActivity().getContentResolver(),
Settings.System.UI_STYLE, 0); Settings.System.UI_STYLE, 0);
@@ -263,6 +277,19 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
Settings.System.putInt(resolver, Settings.System.SWITCH_STYLE, Integer.valueOf(value)); Settings.System.putInt(resolver, Settings.System.SWITCH_STYLE, Integer.valueOf(value));
int valueIndex = mSwitchStyle.findIndexOfValue(value); int valueIndex = mSwitchStyle.findIndexOfValue(value);
mSwitchStyle.setSummary(mSwitchStyle.getEntries()[valueIndex]); mSwitchStyle.setSummary(mSwitchStyle.getEntries()[valueIndex]);
} else if (preference == mNavbarPicker) {
String navbarStyle = (String) objValue;
int navbarStyleValue = Integer.parseInt(navbarStyle);
mNavbarPicker.setValue(String.valueOf(navbarStyleValue));
String overlayName = getOverlayName(ThemesUtils.NAVBAR_STYLES);
if (overlayName != null) {
handleOverlays(overlayName, false, mOverlayService);
}
if (navbarStyleValue > 1) {
handleOverlays(ThemesUtils.NAVBAR_STYLES[navbarStyleValue - 2],
true, mOverlayService);
}
mNavbarPicker.setSummary(mNavbarPicker.getEntry());
} else if (preference == mQsTileStyle) { } else if (preference == mQsTileStyle) {
int qsTileStyleValue = Integer.valueOf((String) objValue); int qsTileStyleValue = Integer.valueOf((String) objValue);
Settings.System.putIntForUser(resolver, Settings.System.putIntForUser(resolver,