Compare commits
5 Commits
tiramisu-t
...
tiramisu-f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
509da9db80 | ||
|
|
2667545003 | ||
|
|
bac9fe6f2d | ||
|
|
c4589a0e08 | ||
|
|
92668a2071 |
@@ -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 -->
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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>
|
||||
@@ -787,7 +830,11 @@
|
||||
<string name="notification_material_dismiss_button_summary">Replace clear all notification text with floating button</string>
|
||||
<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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -71,6 +71,13 @@
|
||||
android:targetPackage="com.android.systemui"
|
||||
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"
|
||||
@@ -78,11 +85,43 @@
|
||||
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
|
||||
android:key="show_fourg_icon"
|
||||
|
||||
52
res/xml/dsb_settings.xml
Normal file
52
res/xml/dsb_settings.xml
Normal 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>
|
||||
266
src/com/cherish/settings/fragments/DsbSettings.java
Normal file
266
src/com/cherish/settings/fragments/DsbSettings.java
Normal 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;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user