Evolver: Add quick settings brightness slider customizations
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: AnierinB <anierin@evolution-x.org>
This commit is contained in:
@@ -80,4 +80,28 @@
|
||||
<item>0</item>
|
||||
<item>3</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Quick Settings - brightness slider -->
|
||||
<string-array name="quick_settings_show_brightness_slider_entries" translatable="false">
|
||||
<item>@string/quick_settings_show_brightness_slider_never</item>
|
||||
<item>@string/quick_settings_show_brightness_slider_expanded</item>
|
||||
<item>@string/quick_settings_show_brightness_slider_always</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="quick_settings_show_brightness_slider_values" translatable="false">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="quick_settings_brightness_slider_position_entries" translatable="false">
|
||||
<item>@string/quick_settings_brightness_slider_position_top</item>
|
||||
<item>@string/quick_settings_brightness_slider_position_bottom</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="quick_settings_brightness_slider_position_values" translatable="false">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -127,6 +127,18 @@
|
||||
<string name="status_bar_projection_privacy_indicator_summary">Display an indicator when the screen is being projected</string>
|
||||
|
||||
<!-- Quick settings -->
|
||||
<string name="quick_settings_brightness_slider_category">Brightness slider</string>
|
||||
<string name="quick_settings_show_brightness_slider_title">Brightness slider</string>
|
||||
<string name="quick_settings_show_brightness_slider_never">Never show</string>
|
||||
<string name="quick_settings_show_brightness_slider_expanded">Only show when expanded</string>
|
||||
<string name="quick_settings_show_brightness_slider_always">Always show</string>
|
||||
<string name="quick_settings_brightness_slider_position_title">Brightness slider position</string>
|
||||
<string name="quick_settings_brightness_slider_position_top">Top</string>
|
||||
<string name="quick_settings_brightness_slider_position_bottom">Bottom</string>
|
||||
<string name="quick_settings_auto_brightness_icon_title">Auto brightness icon</string>
|
||||
<string name="quick_settings_auto_brightness_icon_summary">Show icon toggle for adaptive brightness next to the slider</string>
|
||||
<string name="quick_settings_brightness_slider_haptic_title">Haptic feedback</string>
|
||||
<string name="quick_settings_brightness_slider_haptic_summary">Provide haptic feedback on changing brightness using slider</string>
|
||||
<string name="quick_settings_lock_screen_category">Lock screen</string>
|
||||
<string name="quick_settings_secure_lock_screen_title">Hide on secure lock screen</string>
|
||||
<string name="quick_settings_secure_lock_screen_summary">Hide all quick settings in the notification shade while the device is locked</string>
|
||||
|
||||
@@ -9,6 +9,41 @@
|
||||
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
|
||||
android:title="@string/quick_settings_title">
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="quick_settings_brightness_slider_category"
|
||||
android:title="@string/quick_settings_brightness_slider_category">
|
||||
|
||||
<!-- Brightness slider -->
|
||||
<lineageos.preference.LineageSecureSettingListPreference
|
||||
android:key="qs_show_brightness_slider"
|
||||
android:title="@string/quick_settings_show_brightness_slider_title"
|
||||
android:entries="@array/quick_settings_show_brightness_slider_entries"
|
||||
android:entryValues="@array/quick_settings_show_brightness_slider_values"
|
||||
android:defaultValue="1" />
|
||||
|
||||
<!-- Brightness slider position -->
|
||||
<lineageos.preference.LineageSecureSettingListPreference
|
||||
android:key="qs_brightness_slider_position"
|
||||
android:title="@string/quick_settings_brightness_slider_position_title"
|
||||
android:entries="@array/quick_settings_brightness_slider_position_entries"
|
||||
android:entryValues="@array/quick_settings_brightness_slider_position_values"
|
||||
android:defaultValue="0" />
|
||||
|
||||
<!-- Haptic feedback on brightness slider -->
|
||||
<org.evolution.settings.preferences.SystemSettingSwitchPreference
|
||||
android:key="qs_brightness_slider_haptic"
|
||||
android:title="@string/quick_settings_brightness_slider_haptic_title"
|
||||
android:summary="@string/quick_settings_brightness_slider_haptic_summary"
|
||||
android:defaultValue="false" />
|
||||
|
||||
<!-- Auto brightness icon -->
|
||||
<lineageos.preference.LineageSecureSettingSwitchPreference
|
||||
android:key="qs_show_auto_brightness"
|
||||
android:title="@string/quick_settings_auto_brightness_icon_title"
|
||||
android:summary="@string/quick_settings_auto_brightness_icon_summary"
|
||||
android:defaultValue="true" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="quick_settings_lock_screen_category"
|
||||
android:title="@string/quick_settings_lock_screen_category">
|
||||
|
||||
@@ -9,11 +9,14 @@ import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.Preference.OnPreferenceChangeListener;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
@@ -23,6 +26,10 @@ import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lineageos.preference.LineageSecureSettingSwitchPreference;
|
||||
import lineageos.providers.LineageSettings;
|
||||
|
||||
import org.evolution.settings.preferences.SystemSettingSwitchPreference;
|
||||
import org.evolution.settings.utils.DeviceUtils;
|
||||
|
||||
@SearchIndexable
|
||||
@@ -30,24 +37,55 @@ public class QuickSettings extends SettingsPreferenceFragment implements
|
||||
Preference.OnPreferenceChangeListener {
|
||||
|
||||
private static final String TAG = "QuickSettings";
|
||||
|
||||
private static final String KEY_BRIGHTNESS_SLIDER_POSITION = "qs_brightness_slider_position";
|
||||
private static final String KEY_BRIGHTNESS_SLIDER_HAPTIC = "qs_brightness_slider_haptic";
|
||||
private static final String KEY_INTERFACE_CATEGORY = "quick_settings_interface_category";
|
||||
private static final String KEY_MISCELLANEOUS_CATEGORY = "quick_settings_miscellaneous_category";
|
||||
private static final String KEY_QS_BLUETOOTH_SHOW_DIALOG = "qs_bt_show_dialog";
|
||||
private static final String KEY_SHOW_BRIGHTNESS_SLIDER = "qs_show_brightness_slider";
|
||||
private static final String KEY_SHOW_AUTO_BRIGHTNESS = "qs_show_auto_brightness";
|
||||
|
||||
private PreferenceCategory mInterfaceCategory;
|
||||
private PreferenceCategory mMiscellaneousCategory;
|
||||
private ListPreference mShowBrightnessSlider;
|
||||
private ListPreference mBrightnessSliderPosition;
|
||||
private LineageSecureSettingSwitchPreference mShowAutoBrightness;
|
||||
private SystemSettingSwitchPreference mBrightnessSliderHaptic;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.evolution_settings_quick_settings);
|
||||
|
||||
final Context context = getContext();
|
||||
final ContentResolver resolver = context.getContentResolver();
|
||||
final Context mContext = getContext();
|
||||
final ContentResolver resolver = mContext.getContentResolver();
|
||||
final PreferenceScreen prefScreen = getPreferenceScreen();
|
||||
final Resources resources = context.getResources();
|
||||
final Resources resources = mContext.getResources();
|
||||
|
||||
mShowBrightnessSlider = findPreference(KEY_SHOW_BRIGHTNESS_SLIDER);
|
||||
mShowBrightnessSlider.setOnPreferenceChangeListener(this);
|
||||
boolean showSlider = LineageSettings.Secure.getIntForUser(resolver,
|
||||
LineageSettings.Secure.QS_SHOW_BRIGHTNESS_SLIDER, 1, UserHandle.USER_CURRENT) > 0;
|
||||
|
||||
mBrightnessSliderPosition = findPreference(KEY_BRIGHTNESS_SLIDER_POSITION);
|
||||
mBrightnessSliderPosition.setEnabled(showSlider);
|
||||
|
||||
mBrightnessSliderHaptic = findPreference(KEY_BRIGHTNESS_SLIDER_HAPTIC);
|
||||
mBrightnessSliderHaptic.setEnabled(showSlider);
|
||||
|
||||
mShowAutoBrightness = findPreference(KEY_SHOW_AUTO_BRIGHTNESS);
|
||||
boolean automaticAvailable = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_automatic_brightness_available);
|
||||
if (automaticAvailable) {
|
||||
mShowAutoBrightness.setEnabled(showSlider);
|
||||
} else {
|
||||
prefScreen.removePreference(mShowAutoBrightness);
|
||||
}
|
||||
|
||||
mMiscellaneousCategory = (PreferenceCategory) findPreference(KEY_MISCELLANEOUS_CATEGORY);
|
||||
|
||||
if (!DeviceUtils.deviceSupportsBluetooth(context)) {
|
||||
if (!DeviceUtils.deviceSupportsBluetooth(mContext)) {
|
||||
prefScreen.removePreference(mMiscellaneousCategory);
|
||||
}
|
||||
}
|
||||
@@ -56,6 +94,14 @@ public class QuickSettings extends SettingsPreferenceFragment implements
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
final Context context = getContext();
|
||||
final ContentResolver resolver = context.getContentResolver();
|
||||
if (preference == mShowBrightnessSlider) {
|
||||
int value = Integer.parseInt((String) newValue);
|
||||
mBrightnessSliderPosition.setEnabled(value > 0);
|
||||
mBrightnessSliderHaptic.setEnabled(value > 0);
|
||||
if (mShowAutoBrightness != null)
|
||||
mShowAutoBrightness.setEnabled(value > 0);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -72,6 +118,11 @@ public class QuickSettings extends SettingsPreferenceFragment implements
|
||||
List<String> keys = super.getNonIndexableKeys(context);
|
||||
final Resources resources = context.getResources();
|
||||
|
||||
boolean autoBrightnessAvailable = resources.getBoolean(
|
||||
com.android.internal.R.bool.config_automatic_brightness_available);
|
||||
if (!autoBrightnessAvailable) {
|
||||
keys.add(KEY_SHOW_AUTO_BRIGHTNESS);
|
||||
}
|
||||
if (!DeviceUtils.deviceSupportsBluetooth(context)) {
|
||||
keys.add(KEY_QS_BLUETOOTH_SHOW_DIALOG);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user