diff --git a/res/values/evolution_arrays.xml b/res/values/evolution_arrays.xml
index 151fb4d..b0dd560 100644
--- a/res/values/evolution_arrays.xml
+++ b/res/values/evolution_arrays.xml
@@ -679,4 +679,39 @@
- 1
- 2
+
+
+
+ - @string/quick_settings_tile_animation_style_off
+ - @string/quick_settings_tile_animation_style_rotate
+ - @string/quick_settings_tile_animation_style_flip
+
+
+
+ - 0
+ - 1
+ - 2
+
+
+
+ - @string/quick_settings_tile_animation_interpolator_linear
+ - @string/quick_settings_tile_animation_interpolator_accelerate
+ - @string/quick_settings_tile_animation_interpolator_decelerate
+ - @string/quick_settings_tile_animation_interpolator_accelerateDecelerate
+ - @string/quick_settings_tile_animation_interpolator_bounce
+ - @string/quick_settings_tile_animation_interpolator_overshoot
+ - @string/quick_settings_tile_animation_interpolator_anticipate
+ - @string/quick_settings_tile_animation_interpolator_anticipateOvershoot
+
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+
diff --git a/res/values/evolution_strings.xml b/res/values/evolution_strings.xml
index e817d6e..e6d8e46 100644
--- a/res/values/evolution_strings.xml
+++ b/res/values/evolution_strings.xml
@@ -370,6 +370,21 @@
Show icon toggle for adaptive brightness next to the slider
Haptic feedback
Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Flip
+ Rotate
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
Lock screen
Hide on secure lock screen
Hide all quick settings in the notification shade while the device is locked
diff --git a/res/xml/evolution_settings_quick_settings.xml b/res/xml/evolution_settings_quick_settings.xml
index a905806..da1f4ae 100644
--- a/res/xml/evolution_settings_quick_settings.xml
+++ b/res/xml/evolution_settings_quick_settings.xml
@@ -111,6 +111,37 @@
android:fragment="org.evolution.settings.fragments.quicksettings.LayoutSettings" />
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/org/evolution/settings/fragments/quicksettings/QuickSettings.java b/src/org/evolution/settings/fragments/quicksettings/QuickSettings.java
index 9f8ed56..d427f27 100644
--- a/src/org/evolution/settings/fragments/quicksettings/QuickSettings.java
+++ b/src/org/evolution/settings/fragments/quicksettings/QuickSettings.java
@@ -33,6 +33,7 @@ import lineageos.preference.LineageSecureSettingSwitchPreference;
import lineageos.providers.LineageSettings;
import org.evolution.settings.preferences.SystemSettingListPreference;
+import org.evolution.settings.preferences.SystemSettingSeekBarPreference;
import org.evolution.settings.preferences.SystemSettingSwitchPreference;
import org.evolution.settings.utils.DeviceUtils;
@@ -53,6 +54,9 @@ public class QuickSettings extends SettingsPreferenceFragment implements
private static final String KEY_QS_UI_STYLE = "qs_tile_ui_style";
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 static final String KEY_TILE_ANIM_STYLE = "qs_tile_animation_style";
+ private static final String KEY_TILE_ANIM_DURATION = "qs_tile_animation_duration";
+ private static final String KEY_TILE_ANIM_INTERPOLATOR = "qs_tile_animation_interpolator";
private static final int BATTERY_STYLE_PORTRAIT = 0;
private static final int BATTERY_STYLE_TEXT = 4;
@@ -67,6 +71,9 @@ public class QuickSettings extends SettingsPreferenceFragment implements
private LineageSecureSettingSwitchPreference mShowAutoBrightness;
private SystemSettingListPreference mBatteryStyle;
private SystemSettingListPreference mBatteryPercent;
+ private SystemSettingListPreference mTileAnimationInterpolator;
+ private SystemSettingListPreference mTileAnimationStyle;
+ private SystemSettingSeekBarPreference mTileAnimationDuration;
private SystemSettingSwitchPreference mBrightnessSliderHaptic;
private static ThemeUtils mThemeUtils;
@@ -114,6 +121,15 @@ public class QuickSettings extends SettingsPreferenceFragment implements
prefScreen.removePreference(mShowAutoBrightness);
}
+ mTileAnimationStyle = (SystemSettingListPreference) findPreference(KEY_TILE_ANIM_STYLE);
+ mTileAnimationDuration = (SystemSettingSeekBarPreference) findPreference(KEY_TILE_ANIM_DURATION);
+ mTileAnimationInterpolator = (SystemSettingListPreference) findPreference(KEY_TILE_ANIM_INTERPOLATOR);
+ mTileAnimationStyle.setOnPreferenceChangeListener(this);
+
+ int tileAnimationStyle = Settings.System.getIntForUser(getContentResolver(),
+ Settings.System.QS_TILE_ANIMATION_STYLE, 0, UserHandle.USER_CURRENT);
+ updateTileAnimStyle(tileAnimationStyle);
+
mMiscellaneousCategory = (PreferenceCategory) findPreference(KEY_MISCELLANEOUS_CATEGORY);
if (!DeviceUtils.deviceSupportsBluetooth(mContext)) {
@@ -159,10 +175,19 @@ public class QuickSettings extends SettingsPreferenceFragment implements
updateQsPanelStyle(getContext());
checkQSOverlays(getContext());
return true;
+ } else if (preference == mTileAnimationStyle) {
+ int value = Integer.parseInt((String) newValue);
+ updateTileAnimStyle(value);
+ return true;
}
return false;
}
+ private void updateTileAnimStyle(int tileAnimationStyle) {
+ mTileAnimationDuration.setEnabled(tileAnimationStyle != 0);
+ mTileAnimationInterpolator.setEnabled(tileAnimationStyle != 0);
+ }
+
private static void updateQsStyle(Context context) {
ContentResolver resolver = context.getContentResolver();