5 Commits

Author SHA1 Message Date
Ansh
509da9db80 Maintainers: Update Maintainer Name for RM6785
Signed-off-by: Ansh <singhansh64321@gmail.com>
2023-02-23 23:43:01 +07:00
rdx420
2667545003 Cherish:Add 6 new QS Styles
Signed-off-by: rdx420 <padraramesh420@gmail.com>
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
2023-02-09 14:19:35 +07:00
ariffjenong
bac9fe6f2d Cherish: Introduce Dynamic System Bars (DSB) [2/2]
Signed-off-by: ariffjenong <arifbuditantodablekk@gmail.com>
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
2023-02-09 14:12:01 +07:00
Hưng Phan
c4589a0e08 Revert "Cherish:Drop volte/vowifi features"
This reverts commit 07c75efdbe.
2023-02-06 17:19:56 +07:00
Hưng Phan
92668a2071 Revert "Revert "Cherish: Make combined signal icons configurable at runtime [2/2]""
This reverts commit 1ecee0b4c1.
2023-02-06 17:19:46 +07:00
9 changed files with 552 additions and 16 deletions

View File

@@ -45,6 +45,63 @@
<item>4</item>
</string-array>
<!-- VoLTE Icon Type -->
<string-array name="volte_icon_type_entries" translatable="false">
<item>@string/volte_icon_vivo</item>
<item>@string/volte_icon_margaritov2</item>
<item>@string/volte_icon_margaritov</item>
<item>@string/volte_icon_asus</item>
<item>@string/volte_icon_hd</item>
<item>@string/volte_icon_hd2</item>
<item>@string/volte_icon_miui</item>
<item>@string/volte_icon_emui</item>
<item>@string/volte_icon_oos</item>
<item>@string/volte_icon_volte</item>
<item>@string/volte_icon_vo</item>
<item>@string/volte_icon_aris</item>
<item>@string/volte_icon_beast</item>
<item>@string/volte_icon_ios</item>
<item>@string/volte_icon_lr</item>
<item>@string/volte_icon_realme</item>
<item>@string/volte_icon_typeA</item>
<item>@string/volte_icon_typeB</item>
<item>@string/volte_icon_typeC</item>
<item>@string/volte_icon_typeD</item>
<item>@string/volte_icon_typeE</item>
<item>@string/volte_icon_vcircle</item>
<item>@string/volte_icon_vimeo</item>
<item>@string/volte_icon_volit</item>
<item>@string/volte_icon_zirco</item>
</string-array>
<string-array name="volte_icon_type_values" translatable="false">
<item>10</item>
<item>9</item>
<item>8</item>
<item>4</item>
<item>3</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>2</item>
<item>1</item>
<item>0</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
<item>20</item>
<item>21</item>
<item>22</item>
<item>23</item>
<item>24</item>
</string-array>
<!-- Battery -->
<string-array name="status_bar_battery_percent_entries" translatable="false">
<item>@string/status_bar_battery_percentage_default</item>
@@ -238,6 +295,12 @@
<item>@string/qs_outline</item>
<item>@string/qs_two_tone</item>
<item>@string/qs_color_pop</item>
<item>@string/qs_shaded</item>
<item>@string/qs_cyberpunk</item>
<item>@string/qs_neumorph</item>
<item>@string/qs_reflected</item>
<item>@string/qs_surround</item>
<item>@string/qs_thin</item>
</string-array>
<string-array name="qs_styles_values" translatable="false">
@@ -245,6 +308,12 @@
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
</string-array>
<!-- Status bar - Clock -->

View File

@@ -121,7 +121,7 @@
<string name="device_RMX1805">Realme 2/C1</string>
<string name="RMX1805_maintainer">AbhinavVermabest</string>
<string name="device_RM6785">Realme 6/6i(Indian)/6s/7/Narzo/Narzo20Pro/Narzo30 4G</string>
<string name="RM6785_maintainer">Pain</string>
<string name="RM6785_maintainer">ꪖꪀ𝘴ꫝ|邪惡的</string>
<string name="device_RMX3360">Realme GT Master Edition</string>
<string name="RMX3360_maintainer">X-R-P</string>
<!-- Asus Device maintainers -->

View File

@@ -253,6 +253,44 @@
<string name="lockscreen_albumart_filter_grayblur">Grayscale and blurred</string>
<string name="lockscreen_albumart_filter_blur_radius_title">Blur amount for lockscreen media artwork</string>
<!-- Show VoLTE icon on statusbar -->
<string name="volte_switch_title">VoLTE icon</string>
<string name="volte_switch_summary">Display VoLTE icon</string>
<string name="volte_icon_title">VoLTE icon</string>
<string name="volte_icon_summary">Display VoLTE icon</string>
<string name="volte_icon_style_title">Select VoLTE Icon</string>
<string name="volte_icon_asus">VoLTE Asus Icon</string>
<string name="volte_icon_vo">Vo Only Icon</string>
<string name="volte_icon_volte">VoLTE Icon</string>
<string name="volte_icon_oos">VoLTE OOS Icon</string>
<string name="volte_icon_hd">HD Icon</string>
<string name="volte_icon_hd2">HD CAF Icon</string>
<string name="volte_icon_miui">MIUI 11 Icon</string>
<string name="volte_icon_emui">EMUI Icon</string>
<string name="volte_icon_margaritov">HD Filled Icon</string>
<string name="volte_icon_margaritov2">Margaritov VoLTE Icon</string>
<string name="volte_icon_vivo">Vivo Icon</string>
<string name="volte_icon_aris">Aris Icon</string>
<string name="volte_icon_beast">Aww Icon</string>
<string name="volte_icon_ios">Ios Icon</string>
<string name="volte_icon_lr">Livenge Icon</string>
<string name="volte_icon_realme">Realme Icon</string>
<string name="volte_icon_typeA">Mild Icon</string>
<string name="volte_icon_typeB">Filth Icon</string>
<string name="volte_icon_typeC">Mue Icon</string>
<string name="volte_icon_typeD">Sus Icon</string>
<string name="volte_icon_typeE">Acherus Icon</string>
<string name="volte_icon_vcircle">Circle Icon</string>
<string name="volte_icon_vimeo">Vimeo Icon</string>
<string name="volte_icon_volit">Volit Icon</string>
<string name="volte_icon_zirco">Ziroc Icon</string>
<!-- VoWiFi icon -->
<string name="vowifi_icon_title">VoWiFi icon</string>
<string name="vowifi_icon_summary">Display VoWiFi icon when available</string>
<string name="volte_vowifi_override_title">VoWiFi override</string>
<string name="volte_vowifi_override_summary">Hide VoLTE when VoWiFi is available</string>
<!-- Statusbar Battery -->
<string name="battery_style_title">Battery icon style</string>
<string name="battery_style_summary">Customize battery icons, hide or show percentage</string>
@@ -631,11 +669,16 @@
<string name="enable_protection">Enable protection</string>
<!-- Quick settings styling -->
<string name="qs_styling">Quick Settings UI</string>
<string name="qs_styles_title">QS Panel Styles</string>
<string name="qs_outline">QS Outline Style</string>
<string name="qs_two_tone">QS Two-Tone Accent</string>
<string name="qs_color_pop">QS Color Pop</string>
<string name="qs_styles_title">Combined QS Element Styles</string>
<string name="qs_outline">Outline</string>
<string name="qs_two_tone">Two-Tone Accent</string>
<string name="qs_color_pop">Color Pop</string>
<string name="qs_shaded">Shaded</string>
<string name="qs_cyberpunk">Cyberpunk</string>
<string name="qs_neumorph">Neumorph</string>
<string name="qs_reflected">Reflected</string>
<string name="qs_surround">Surround</string>
<string name="qs_thin">ThinLine</string>
<!-- QS tiles layout direction: vertical or horizontal -->
<string name="qs_tile_layout_category_title">Tile layout</string>
@@ -788,6 +831,10 @@
<string name="clearall_style_title">Material dismiss button style</string>
<string name="clearall_bgstyle_title">Material dismiss background style</string>
<!-- Combined signal icons in status bar -->
<string name="combined_status_bar_signal_icons_title">Combined signal icons</string>
<string name="combined_status_bar_signal_icons_summary">Enable combined signal icons\n(WARNING: a soft reboot will occur upon enabling combined signal icons)</string>
<!-- Smart Pixels -->
<string name="smart_pixels_warning_text">Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen</string>
<string name="smart_pixels_title">Smart Pixels</string>
@@ -914,4 +961,26 @@
<!-- Black theme -->
<string name="system_black_theme_title">Vivid Colors</string>
<string name="system_black_theme_summary">Use colorful and darker monet shades</string>
<!-- Dynamic System Bars -->
<string name="dynamic_accent_mode_status_bar_summary">Automatically change the dark intensity to Accent Color</string>
<string name="dynamic_accent_mode_status_bar_title">Accent Mode</string>
<string name="dynamic_icon_navigation_tint_summary">Use status bar Dynamic color as navigation bar icon Tint</string>
<string name="dynamic_icon_navigation_tint_title">Status bar color Tint</string>
<string name="dynamic_linked_color_status_bar_summary">Automatically linked status bar dynamic color as navigation bar background</string>
<string name="dynamic_linked_color_status_bar_title">Linked Color</string>
<string name="dynamic_navigation_bar_summary">Automatically update the background of the navigation bar</string>
<string name="dynamic_navigation_bar_title">Dynamic navigation bar</string>
<string name="dynamic_navigation_bars_gradient_summary">Overlay a gradient on the navigation bar</string>
<string name="dynamic_navigation_bars_gradient_title">Navigation bar gradient</string>
<string name="dynamic_silver_mode_status_bar_summary">Automatically change the dark intensity to Silver</string>
<string name="dynamic_silver_mode_status_bar_title">Silver Mode</string>
<string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>
<string name="dynamic_status_bar_filter_title">Darker status bar</string>
<string name="dynamic_status_bar_summary">Automatically update the background of the status bar</string>
<string name="dynamic_status_bar_title">Dynamic status bar</string>
<string name="dynamic_system_bars_category_summary">Automatically update the background of the status bar and navigation bar</string>
<string name="dynamic_system_bars_category_title">Dynamic system bars</string>
<string name="dynamic_system_bars_gradient_summary">Overlay a gradient on the status bar</string>
<string name="dynamic_system_bars_gradient_title">Status bar gradient</string>
</resources>

View File

@@ -462,7 +462,7 @@
android:icon="@drawable/ic_devs_phone" >
<intent
android:action="android.intent.action.VIEW"
android:data="https://t.me/P_AA_ii_N" />
android:data="https://t.me/EvilAnsh" />
</Preference>
<Preference

View File

@@ -72,16 +72,55 @@
android:targetClass="com.android.systemui.tuner.StatusbarItemsActivity" />
</Preference>
<!-- DSB -->
<Preference
android:key="dynamic_system_bars"
android:title="@string/dynamic_system_bars_category_title"
android:summary="@string/dynamic_system_bars_category_summary"
android:fragment="com.cherish.settings.fragments.DsbSettings" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="data_disabled_icon"
android:title="@string/data_disabled_icon_title"
android:summary="@string/data_disabled_icon_summary"
android:defaultValue="true" />
<com.cherish.settings.preferences.SystemSettingSeekBarPreference
android:key="volte_icon_style"
android:title="@string/volte_icon_style_title"
android:summary="@string/volte_icon_summary"
android:defaultValue="0"
settings:defaultValueText="@string/disabled"
android:max="28"
settings:min="0"
settings:units="" />
<com.cherish.settings.preferences.SystemSettingSeekBarPreference
android:key="vowifi_icon_style"
android:title="@string/vowifi_icon_title"
android:summary="@string/vowifi_icon_summary"
android:defaultValue="0"
settings:defaultValueText="@string/disabled"
android:max="8"
settings:min="0"
settings:units="" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="volte_vowifi_override"
android:title="@string/volte_vowifi_override_title"
android:summary="@string/volte_vowifi_override_summary"
android:defaultValue="true"/>
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="use_old_mobiletype"
android:title="@string/use_old_mobiletype_title"
android:summary="@string/use_old_mobiletype_summary"
android:defaultValue="false" />
<SwitchPreference
android:key="enable_combined_signal_icons"
android:title="@string/combined_status_bar_signal_icons_title"
android:summary="@string/combined_status_bar_signal_icons_summary"
android:defaultValue="false" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference

52
res/xml/dsb_settings.xml Normal file
View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 The Nusantara Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<PreferenceScreen android:title="@string/dynamic_system_bars_category_title"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto">
<SwitchPreference
android:title="@string/dynamic_status_bar_title"
android:key="DYNAMIC_STATUS_BAR_STATE"
android:summary="@string/dynamic_status_bar_summary" />
<SwitchPreference
android:title="@string/dynamic_navigation_bar_title"
android:key="DYNAMIC_NAVIGATION_BAR_STATE"
android:summary="@string/dynamic_navigation_bar_summary" />
<SwitchPreference
android:title="@string/dynamic_linked_color_status_bar_title"
android:key="LINKED_COLOR"
android:summary="@string/dynamic_linked_color_status_bar_summary" />
<SwitchPreference
android:title="@string/dynamic_icon_navigation_tint_title"
android:key="UI_COLOR"
android:summary="@string/dynamic_icon_navigation_tint_summary" />
<SwitchPreference
android:title="@string/dynamic_status_bar_filter_title"
android:key="DYNAMIC_STATUS_BAR_FILTER_STATE"
android:summary="@string/dynamic_status_bar_filter_summary" />
<SwitchPreference
android:title="@string/dynamic_silver_mode_status_bar_title"
android:key="ABU_ABU"
android:summary="@string/dynamic_silver_mode_status_bar_summary" />
<SwitchPreference
android:title="@string/dynamic_accent_mode_status_bar_title"
android:key="ACCENT_COLOR"
android:summary="@string/dynamic_accent_mode_status_bar_summary" />
</PreferenceScreen>

View File

@@ -0,0 +1,266 @@
/*
* Copyright (C) 2022 The Nusantara Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.cherish.settings.fragments;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.UserHandle;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import com.android.internal.logging.nano.MetricsProto;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.List;
import com.android.settings.R;
import androidx.preference.SeekBarPreference;
@SearchIndexable
public class DsbSettings extends SettingsPreferenceFragment
implements Preference.OnPreferenceChangeListener {
private static final String KEY_DYNAMIC_STATUS_BAR = "DYNAMIC_STATUS_BAR_STATE";
private static final String KEY_DYNAMIC_NAVIGATION_BAR = "DYNAMIC_NAVIGATION_BAR_STATE";
private static final String KEY_DYNAMIC_STATUS_BAR_FILTER = "DYNAMIC_STATUS_BAR_FILTER_STATE";
private static final String KEY_DYNAMIC_LINKED_COLOR = "LINKED_COLOR";
private static final String KEY_DYNAMIC_ABU_ABU = "ABU_ABU";
private static final String KEY_DYNAMIC_UI_COLOR = "UI_COLOR";
private static final String KEY_DYNAMIC_ACCENT_COLOR = "ACCENT_COLOR";
private SwitchPreference mDynamicStatusBar;
private SwitchPreference mDynamicNavigationBar;
private SwitchPreference mDynamicStatusBarFilter;
private SwitchPreference mDynamicLinkedColor;
private SwitchPreference mDynamicAbuAbu;
private SwitchPreference mDynamicUiColor;
private SwitchPreference mDynamicAccentColor;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context ctx = getContext();
String name = ctx.getPackageName();
addPreferencesFromResource(getResources().getIdentifier("dsb_settings", "xml", name));
PreferenceScreen prefSet = getPreferenceScreen();
ContentResolver resolver = ctx.getContentResolver();
SwitchPreference statusBar = mDynamicStatusBar = prefSet.findPreference(KEY_DYNAMIC_STATUS_BAR);
statusBar.setOnPreferenceChangeListener(this);
boolean status = Settings.System.getIntForUser(resolver, "DYNAMIC_STATUS_BAR_STATE", 0, UserHandle.USER_CURRENT) != 0;
statusBar.setChecked(status);
SwitchPreference navi = mDynamicNavigationBar = prefSet.findPreference(KEY_DYNAMIC_NAVIGATION_BAR);
navi.setOnPreferenceChangeListener(this);
boolean naviEnable = Settings.System.getIntForUser(resolver, "DYNAMIC_NAVIGATION_BAR_STATE", 0, UserHandle.USER_CURRENT) != 0;
navi.setChecked(naviEnable);
Resources res = getResources();
final boolean hasNavigationBar = res.getDimensionPixelSize(res.getIdentifier(
"navigation_bar_height", "dimen", "android")) > 0;
navi.setEnabled(hasNavigationBar);
final boolean isAnyBarDynamic = status || naviEnable;
SwitchPreference linkedColor = mDynamicLinkedColor = prefSet.findPreference(KEY_DYNAMIC_LINKED_COLOR);
linkedColor.setOnPreferenceChangeListener(this);
boolean linkedColorEnabled = Settings.System.getIntForUser(resolver, "LINKED_COLOR", 0, UserHandle.USER_CURRENT) != 0;
boolean uiEnabled = Settings.System.getIntForUser(resolver, "UI_COLOR", 0, UserHandle.USER_CURRENT) != 0;
linkedColor.setChecked(linkedColorEnabled);
linkedColor.setEnabled(status && naviEnable && !uiEnabled);
SwitchPreference ui = mDynamicUiColor = prefSet.findPreference(KEY_DYNAMIC_UI_COLOR);
ui.setOnPreferenceChangeListener(this);
ui.setChecked(uiEnabled);
ui.setEnabled(status && naviEnable && !linkedColorEnabled);
SwitchPreference filter = mDynamicStatusBarFilter = prefSet.findPreference(KEY_DYNAMIC_STATUS_BAR_FILTER);
filter.setOnPreferenceChangeListener(this);
boolean filterEnabled = Settings.System.getIntForUser(resolver, "DYNAMIC_STATUS_BAR_FILTER_STATE", 0, UserHandle.USER_CURRENT) != 0;
filter.setChecked(filterEnabled);
filter.setEnabled(status);
SwitchPreference abu = mDynamicAbuAbu = prefSet.findPreference(KEY_DYNAMIC_ABU_ABU);
abu.setOnPreferenceChangeListener(this);
boolean abuEnabled = Settings.System.getIntForUser(resolver, "ABU_ABU", 0, UserHandle.USER_CURRENT) != 0;
boolean accentEnabled = Settings.System.getIntForUser(resolver, "ACCENT_COLOR", 0, UserHandle.USER_CURRENT) != 0;
abu.setChecked(abuEnabled);
abu.setEnabled(isAnyBarDynamic && !accentEnabled);
SwitchPreference accent = mDynamicAccentColor = prefSet.findPreference(KEY_DYNAMIC_ACCENT_COLOR);
accent.setOnPreferenceChangeListener(this);
accent.setChecked(accentEnabled);
accent.setEnabled(isAnyBarDynamic && !abuEnabled);
updatePrefAll();
}
protected void updatePrefAll() {
Context ctx = getContext();
ContentResolver resolver = ctx.getContentResolver();
boolean status = Settings.System.getIntForUser(resolver, "DYNAMIC_STATUS_BAR_STATE", 0, UserHandle.USER_CURRENT) != 0;
SwitchPreference navi = mDynamicNavigationBar;
boolean naviEnable = Settings.System.getIntForUser(resolver, "DYNAMIC_NAVIGATION_BAR_STATE", 0, UserHandle.USER_CURRENT) != 0;
Resources res = getResources();
final boolean hasNavigationBar = res.getDimensionPixelSize(res.getIdentifier(
"navigation_bar_height", "dimen", "android")) > 0;
navi.setEnabled(hasNavigationBar);
final boolean isAnyBarDynamic = status || naviEnable;
SwitchPreference linkedColor = mDynamicLinkedColor;
boolean linkedColorEnabled = Settings.System.getIntForUser(resolver, "LINKED_COLOR", 0, UserHandle.USER_CURRENT) != 0;
boolean uiEnabled = Settings.System.getIntForUser(resolver, "UI_COLOR", 0, UserHandle.USER_CURRENT) != 0;
linkedColor.setEnabled(status && naviEnable && !uiEnabled);
SwitchPreference ui = mDynamicUiColor;
ui.setEnabled(status && naviEnable && !linkedColorEnabled);
SwitchPreference filter = mDynamicStatusBarFilter;
boolean filterEnabled = Settings.System.getIntForUser(resolver, "DYNAMIC_STATUS_BAR_FILTER_STATE", 0, UserHandle.USER_CURRENT) != 0;
filter.setEnabled(status);
SwitchPreference abu = mDynamicAbuAbu;
boolean abuEnabled = Settings.System.getIntForUser(resolver, "ABU_ABU", 0, UserHandle.USER_CURRENT) != 0;
boolean accentEnabled = Settings.System.getIntForUser(resolver, "ACCENT_COLOR", 0, UserHandle.USER_CURRENT) != 0;
abu.setEnabled(isAnyBarDynamic && !accentEnabled);
SwitchPreference accent = mDynamicAccentColor;
accent.setEnabled(isAnyBarDynamic && !abuEnabled);
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
ContentResolver resolver = getContext().getContentResolver();
if (preference == mDynamicStatusBar) {
boolean value = (Boolean) newValue;
Settings.System.putIntForUser(resolver,
"DYNAMIC_STATUS_BAR_STATE",
value ? 1 : 0, UserHandle.USER_CURRENT);
updatePrefAll();
return true;
} else if (preference == mDynamicNavigationBar) {
boolean value = (Boolean) newValue;
final Resources res = getResources();
Settings.System.putIntForUser(resolver,
"DYNAMIC_NAVIGATION_BAR_STATE",
value && res.getDimensionPixelSize(
res.getIdentifier("navigation_bar_height", "dimen", "android")) > 0 ?
1 : 0, UserHandle.USER_CURRENT);
updatePrefAll();
return true;
} else if (preference == mDynamicLinkedColor) {
boolean value = (Boolean) newValue;
Settings.System.putIntForUser(resolver, "LINKED_COLOR",
value ? 1 : 0, UserHandle.USER_CURRENT);
if (value) {
Settings.System.putIntForUser(resolver,
"UI_COLOR", 0, UserHandle.USER_CURRENT);
}
updatePrefAll();
return true;
} else if (preference == mDynamicUiColor) {
boolean value = (Boolean) newValue;
Settings.System.putIntForUser(resolver, "UI_COLOR",
value ? 1 : 0, UserHandle.USER_CURRENT);
if (value) {
Settings.System.putIntForUser(resolver,
"LINKED_COLOR", 0, UserHandle.USER_CURRENT);
}
updatePrefAll();
return true;
} else if (preference == mDynamicStatusBarFilter) {
boolean value = (Boolean) newValue;
Settings.System.putIntForUser(resolver,
"DYNAMIC_STATUS_BAR_FILTER_STATE",
value ? 1 : 0, UserHandle.USER_CURRENT);
updatePrefAll();
return true;
} else if (preference == mDynamicAbuAbu) {
boolean value = (Boolean) newValue;
Settings.System.putIntForUser(resolver,
"ABU_ABU",
value ? 1 : 0, UserHandle.USER_CURRENT);
if (value) {
Settings.System.putIntForUser(resolver,
"ACCENT_COLOR", 0, UserHandle.USER_CURRENT);
}
updatePrefAll();
return true;
} else if (preference == mDynamicAccentColor) {
boolean value = (Boolean) newValue;
Settings.System.putIntForUser(resolver,
"ACCENT_COLOR",
value ? 1 : 0, UserHandle.USER_CURRENT);
if (value) {
Settings.System.putIntForUser(resolver,
"ABU_ABU", 0, UserHandle.USER_CURRENT);
}
updatePrefAll();
return true;
}
return false;
}
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
}
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
boolean enabled) {
ArrayList<SearchIndexableResource> result =
new ArrayList<SearchIndexableResource>();
SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.dsb_settings;
result.add(sir);
return result;
}
@Override
public List<String> getNonIndexableKeys(Context context) {
List<String> keys = super.getNonIndexableKeys(context);
return keys;
}
};
}

View File

@@ -20,23 +20,29 @@ import androidx.preference.PreferenceFragment;
import androidx.preference.SwitchPreference;
import android.provider.Settings;
import com.android.settings.R;
import android.content.DialogInterface;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import java.util.Locale;
import android.os.SystemProperties;
import android.text.TextUtils;
import android.view.View;
import com.android.settings.SettingsPreferenceFragment;
import com.cherish.settings.preferences.CustomSeekBarPreference;
import com.cherish.settings.preferences.SystemSettingSeekBarPreference;
import com.cherish.settings.preferences.SystemSettingListPreference;
import com.cherish.settings.preferences.SystemSettingSwitchPreference;
import com.cherish.settings.preferences.SystemSettingMasterSwitchPreference;
import com.cherish.settings.preferences.SystemSettingSeekBarPreference;
import com.cherish.settings.preferences.SecureSettingSwitchPreference;
import com.cherish.settings.preferences.SystemSettingListPreference;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settingslib.development.SystemPropPoker;
import com.cherish.settings.preferences.SystemSettingSeekBarPreference;
import com.android.settings.Utils;
import com.android.internal.util.cherish.CherishUtils;
import android.util.Log;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import android.provider.SearchIndexableResource;
import com.android.settings.SettingsPreferenceFragment;
import java.util.List;
import java.util.ArrayList;
@@ -47,6 +53,11 @@ import java.util.Collections;
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class StatusBarSettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener {
private static final String KEY_COMBINED_SIGNAL_ICONS = "enable_combined_signal_icons";
private static final String SYS_COMBINED_SIGNAL_ICONS = "persist.sys.enable.combined_signal_icons";
private SwitchPreference mCombinedSignalIcons;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -56,11 +67,23 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
ContentResolver resolver = getActivity().getContentResolver();
PreferenceScreen prefSet = getPreferenceScreen();
mCombinedSignalIcons = (SwitchPreference) findPreference(KEY_COMBINED_SIGNAL_ICONS);
mCombinedSignalIcons.setChecked(SystemProperties.getBoolean(SYS_COMBINED_SIGNAL_ICONS, false));
mCombinedSignalIcons.setOnPreferenceChangeListener(this);
}
@Override
public boolean onPreferenceChange(Preference preference, Object objValue) {
ContentResolver resolver = getActivity().getContentResolver();
if (preference == mCombinedSignalIcons) {
boolean value = (Boolean) objValue;
Settings.Secure.putIntForUser(getContentResolver(),
Settings.Secure.ENABLE_COMBINED_SIGNAL_ICONS, value ? 1 : 0, UserHandle.USER_CURRENT);
SystemProperties.set(SYS_COMBINED_SIGNAL_ICONS, value ? "true" : "false");
SystemPropPoker.getInstance().poke();
return true;
}
return false;
}

View File

@@ -201,6 +201,18 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
setQsStyle(mOverlayService, "com.android.system.qs.outline");
} else if (qsPanelStyle == 2 || qsPanelStyle == 3) {
setQsStyle(mOverlayService, "com.android.system.qs.twotoneaccent");
} else if (qsPanelStyle == 4) {
setQsStyle(mOverlayService, "com.android.system.qs.shaded");
} else if (qsPanelStyle == 5) {
setQsStyle(mOverlayService, "com.android.system.qs.cyberpunk");
} else if (qsPanelStyle == 6) {
setQsStyle(mOverlayService, "com.android.system.qs.neumorph");
} else if (qsPanelStyle == 7) {
setQsStyle(mOverlayService, "com.android.system.qs.reflected");
} else if (qsPanelStyle == 8) {
setQsStyle(mOverlayService, "com.android.system.qs.surround");
} else if (qsPanelStyle == 9) {
setQsStyle(mOverlayService, "com.android.system.qs.thin");
}
}
@@ -233,7 +245,13 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
public static final String[] QS_STYLES = {
"com.android.system.qs.outline",
"com.android.system.qs.twotoneaccent"
"com.android.system.qs.twotoneaccent",
"com.android.system.qs.shaded",
"com.android.system.qs.cyberpunk",
"com.android.system.qs.neumorph",
"com.android.system.qs.reflected",
"com.android.system.qs.surround",
"com.android.system.qs.thin"
};
@Override