Cherish: Make combined signal icons configurable at runtime [2/2]

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
minaripenguin37
2022-11-19 21:22:11 +02:00
committed by Hưng Phan
parent d585c862fe
commit 686384593a
3 changed files with 40 additions and 7 deletions

View File

@@ -802,4 +802,8 @@
<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>
</resources>

View File

@@ -109,6 +109,12 @@
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"

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;
}