Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 65f2fa8

Browse files
authored
app: OUI4 SeekBar, EditText (#97)
* app: OUI4 SeekBar style Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com> * app/SeslColorPicker: fix seekbars Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com> * app/ColorPickerPreference: fix multiple clicks Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com> * app/EditText: OUI4 drawables Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com> * app/PopupMenu: burp Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
1 parent ceb394d commit 65f2fa8

30 files changed

+135
-28
lines changed

yanndroid/oneui/src/main/java/androidx/appcompat/widget/SeslAbsSeekBar.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import de.dlyt.yanndroid.oneui.widget.ProgressBar;
4747

4848
public abstract class SeslAbsSeekBar extends ProgressBar {
49+
private boolean mIsOneUI4;
4950
public static final boolean IS_BASE_SDK_VERSION;
5051

5152
static {
@@ -196,6 +197,7 @@ public SeslAbsSeekBar(Context var1, AttributeSet var2, int var3, int var4) {
196197
this.mSetDualColorMode = false;
197198
this.mPreviousHoverPopupType = 0;
198199
this.mIsSeamless = false;
200+
this.mIsOneUI4 = var1.getTheme().obtainStyledAttributes(new int[]{R.attr.isOneUI4}).getBoolean(0, false);
199201
TypedArray var5 = var1.obtainStyledAttributes(var2, R.styleable.SeslAbsSeekBar, var3, var4);
200202
if (Build.VERSION.SDK_INT >= 29) {
201203
this.saveAttributeDataForStyleable(var1, R.styleable.SeslAbsSeekBar, var2, var5, var3, var4);
@@ -225,9 +227,9 @@ public SeslAbsSeekBar(Context var1, AttributeSet var2, int var3, int var4) {
225227
}
226228

227229
this.mSplitTrack = var5.getBoolean(R.styleable.SeslAbsSeekBar_android_splitTrack, false);
228-
this.mTrackMinWidth = var5.getDimensionPixelSize(R.styleable.SeslAbsSeekBar_seslTrackMinWidth, Math.round(var6.getDimension(R.dimen.sesl_seekbar_track_height)));
230+
this.mTrackMinWidth = var5.getDimensionPixelSize(R.styleable.SeslAbsSeekBar_seslTrackMinWidth, Math.round(var6.getDimension(mIsOneUI4 ? R.dimen.sesl4_seekbar_track_height : R.dimen.sesl_seekbar_track_height)));
229231
this.mTrackMaxWidth = var5.getDimensionPixelSize(R.styleable.SeslAbsSeekBar_seslTrackMaxWidth, Math.round(var6.getDimension(R.dimen.sesl_seekbar_track_height_expand)));
230-
this.mThumbRadius = var5.getDimensionPixelSize(R.styleable.SeslAbsSeekBar_seslThumbRadius, Math.round(var6.getDimension(R.dimen.sesl_seekbar_thumb_radius)));
232+
this.mThumbRadius = var5.getDimensionPixelSize(R.styleable.SeslAbsSeekBar_seslThumbRadius, Math.round(var6.getDimension(mIsOneUI4 ? R.dimen.sesl4_seekbar_thumb_radius : R.dimen.sesl_seekbar_thumb_radius)));
231233
this.setThumbOffset(var5.getDimensionPixelOffset(R.styleable.SeslAbsSeekBar_android_thumbOffset, this.getThumbOffset()));
232234
if (var5.hasValue(R.styleable.SeslAbsSeekBar_seslSeekBarMode)) {
233235
super.mCurrentMode = var5.getInt(R.styleable.SeslAbsSeekBar_seslSeekBarMode, 0);
@@ -247,11 +249,11 @@ public SeslAbsSeekBar(Context var1, AttributeSet var2, int var3, int var4) {
247249
this.applyTickMarkTint();
248250
this.mScaledTouchSlop = ViewConfiguration.get(var1).getScaledTouchSlop();
249251
this.mIsLightTheme = SeslMisc.isLightTheme(var1);
250-
this.mDefaultNormalProgressColor = this.colorToColorStateList(var6.getColor(R.color.sesl_seekbar_control_color_default, var1.getTheme()));
252+
this.mDefaultNormalProgressColor = this.colorToColorStateList(var6.getColor(mIsOneUI4 ? R.color.sesl4_seekbar_control_color_default : R.color.sesl_seekbar_control_color_default, var1.getTheme()));
251253
this.mDefaultSecondaryProgressColor = this.colorToColorStateList(var6.getColor(R.color.sesl_seekbar_control_color_secondary, var1.getTheme()));
252254
this.mDefaultActivatedProgressColor = this.colorToColorStateList(getColor(var1, R.attr.colorPrimary));
253-
this.mOverlapNormalProgressColor = this.colorToColorStateList(var6.getColor(R.color.sesl_seekbar_overlap_color_default, var1.getTheme()));
254-
this.mOverlapActivatedProgressColor = this.colorToColorStateList(var6.getColor(R.color.sesl_seekbar_overlap_color_activated, var1.getTheme()));
255+
this.mOverlapNormalProgressColor = this.colorToColorStateList(var6.getColor(mIsOneUI4 ? R.color.sesl4_seekbar_overlap_color_default : R.color.sesl_seekbar_overlap_color_default, var1.getTheme()));
256+
this.mOverlapActivatedProgressColor = this.colorToColorStateList(var6.getColor(mIsOneUI4 ? R.color.sesl4_seekbar_overlap_color_activated : R.color.sesl_seekbar_overlap_color_activated, var1.getTheme()));
255257
this.mOverlapActivatedThumbColor = this.mOverlapActivatedProgressColor;
256258
this.mDefaultActivatedThumbColor = this.getThumbTintList();
257259
if (this.mDefaultActivatedThumbColor == null) {

yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/menu/PopupMenu.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.content.Context;
44
import android.graphics.Typeface;
5+
import android.os.Build;
56
import android.provider.Settings;
67
import android.util.TypedValue;
78
import android.view.Gravity;
@@ -189,15 +190,16 @@ private boolean isReduceTransparencySettingsEnabled() {
189190
}
190191

191192
private void setupBlurEffect() {
192-
if (mBlurEffectEnabled) {
193-
if (popupWindow.getContentView() != null && context != null) {
193+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && mBlurEffectEnabled) {
194+
if (popupWindow != null && popupWindow.getContentView() != null) {
194195
Object blurBuilder = SeslSemBlurInfoReflector.semCreateBlurBuilder(0 /* SemBlurInfo.BLUR_MODE_WINDOW */);
195196

196197
if (blurBuilder != null && !isReduceTransparencySettingsEnabled()) {
197198
SeslSemBlurInfoReflector.semSetBuilderBlurRadius(blurBuilder, 120);
198-
SeslSemBlurInfoReflector.semSetBuilderBlurBackgroundColor(blurBuilder, context.getResources().getColor(R.color.sesl_popup_menu_blur_background));
199-
SeslSemBlurInfoReflector.semSetBuilderBlurBackgroundCornerRadius(blurBuilder, context.getResources().getDimension(R.dimen.sesl_menu_popup_corner_radius));
199+
SeslSemBlurInfoReflector.semSetBuilderBlurBackgroundColor(blurBuilder, context.getResources().getColor(R.color.sesl_popup_menu_blur_background, context.getTheme()));
200+
SeslSemBlurInfoReflector.semSetBuilderBlurBackgroundCornerRadius(blurBuilder, context.getResources().getDimension(mIsOneUI4 ? R.dimen.sesl4_menu_popup_corner_radius : R.dimen.sesl_menu_popup_corner_radius));
200201
SeslSemBlurInfoReflector.semBuildSetBlurInfo(blurBuilder, popupWindow.getContentView());
202+
201203
if (listView != null) {
202204
listView.setOverScrollMode(View.OVER_SCROLL_NEVER);
203205
}

yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/preference/ColorPickerPreference.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88
import android.os.Bundle;
99
import android.os.Parcel;
1010
import android.os.Parcelable;
11+
import android.os.SystemClock;
1112
import android.util.AttributeSet;
1213

14+
import androidx.annotation.NonNull;
15+
1316
import java.util.ArrayList;
1417
import java.util.Collections;
1518

@@ -30,6 +33,7 @@ public class ColorPickerPreference extends Preference implements Preference.OnPr
3033
private int mValue = Color.BLACK;
3134
private ArrayList<Integer> mUsedColors = new ArrayList();
3235

36+
private long mLastClickTime;
3337
private boolean mAlphaSliderEnabled = false;
3438
private int mPickerType = CLASSIC;
3539

@@ -68,8 +72,8 @@ protected Object onGetDefaultValue(TypedArray a, int index) {
6872
}
6973

7074
@Override
71-
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
72-
onColorSet(restoreValue ? getPersistedInt(mValue) : (Integer) defaultValue);
75+
protected void onSetInitialValue(Object defaultValue) {
76+
onColorSet(defaultValue == null ? getPersistedInt(mValue) : (Integer) defaultValue);
7377
}
7478

7579
private void init(Context context, AttributeSet attrs) {
@@ -84,7 +88,7 @@ private void init(Context context, AttributeSet attrs) {
8488
}
8589

8690
@Override
87-
public void onBindViewHolder(PreferenceViewHolder holder) {
91+
public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
8892
super.onBindViewHolder(holder);
8993
mViewHolder = holder;
9094
mPreview = (PreferenceImageView) holder.findViewById(R.id.imageview_widget);
@@ -115,8 +119,12 @@ public void onColorSet(int color) {
115119
}
116120

117121
@Override
118-
public boolean onPreferenceClick(Preference preference) {
119-
showDialog(null);
122+
public boolean onPreferenceClick(@NonNull Preference preference) {
123+
long uptimeMillis = SystemClock.uptimeMillis();
124+
if (uptimeMillis - mLastClickTime > 600L) {
125+
showDialog(null);
126+
}
127+
mLastClickTime = uptimeMillis;
120128
return false;
121129
}
122130

yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/colorpicker/classic/SeslColorPicker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import android.widget.FrameLayout;
1717
import android.widget.ImageView;
1818
import android.widget.LinearLayout;
19+
import android.widget.SeekBar;
1920
import android.widget.TextView;
2021

2122
import androidx.annotation.RestrictTo;
@@ -24,7 +25,6 @@
2425
import java.util.ArrayList;
2526

2627
import de.dlyt.yanndroid.oneui.R;
27-
import de.dlyt.yanndroid.oneui.widget.SeekBar;
2828

2929
public class SeslColorPicker extends LinearLayout {
3030
static final int RECENT_COLOR_SLOT_COUNT = 6;

yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/colorpicker/classic/SeslOpacitySeekBar.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
import android.graphics.Color;
55
import android.graphics.drawable.GradientDrawable;
66
import android.util.AttributeSet;
7+
import android.widget.SeekBar;
78

89
import de.dlyt.yanndroid.oneui.R;
9-
import de.dlyt.yanndroid.oneui.widget.SeekBar;
1010

1111
class SeslOpacitySeekBar extends SeekBar {
1212
private static final int SEEKBAR_MAX_VALUE = 255;
@@ -49,6 +49,7 @@ void init(Integer var1) {
4949
this.setProgressDrawable(this.mProgressDrawable);
5050
this.setThumb(this.getContext().getResources().getDrawable(R.drawable.sesl_color_picker_seekbar_cursor, getContext().getTheme()));
5151
this.setThumbOffset(0);
52+
this.setSplitTrack(false);
5253
}
5354

5455
void restoreColor(int var1) {

yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/colorpicker/detailed/SeslColorPicker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import android.widget.FrameLayout;
2525
import android.widget.ImageView;
2626
import android.widget.LinearLayout;
27+
import android.widget.SeekBar;
2728
import android.widget.TextView;
2829

2930
import androidx.core.content.ContextCompat;
@@ -32,7 +33,6 @@
3233
import java.util.Locale;
3334

3435
import de.dlyt.yanndroid.oneui.R;
35-
import de.dlyt.yanndroid.oneui.widget.SeekBar;
3636

3737
public class SeslColorPicker extends LinearLayout implements View.OnClickListener {
3838
private static final int CURRENT_COLOR_VIEW = 0;

yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/colorpicker/detailed/SeslGradientColorSeekBar.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
import android.graphics.drawable.Drawable;
1111
import android.graphics.drawable.GradientDrawable;
1212
import android.util.AttributeSet;
13+
import android.widget.SeekBar;
1314

1415
import androidx.core.view.ViewCompat;
1516

1617
import de.dlyt.yanndroid.oneui.R;
17-
import de.dlyt.yanndroid.oneui.widget.SeekBar;
1818

1919
@SuppressLint("AppCompatCustomView")
2020
class SeslGradientColorSeekBar extends SeekBar {
@@ -79,6 +79,7 @@ private void initProgressDrawable() {
7979
private void initThumb() {
8080
setThumb(getContext().getDrawable(R.drawable.sesl_color_picker_seekbar_cursor));
8181
setThumbOffset(0);
82+
setSplitTrack(false);
8283
}
8384

8485
private static Drawable resizeDrawable(Context context, BitmapDrawable bitmapDrawable, int i, int i2) {

yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/colorpicker/detailed/SeslOpacitySeekBar.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
import android.graphics.Color;
66
import android.graphics.drawable.GradientDrawable;
77
import android.util.AttributeSet;
8+
import android.widget.SeekBar;
89

910
import androidx.core.view.ViewCompat;
1011

1112
import de.dlyt.yanndroid.oneui.R;
12-
import de.dlyt.yanndroid.oneui.widget.SeekBar;
1313

1414
@SuppressLint("AppCompatCustomView")
1515
class SeslOpacitySeekBar extends SeekBar {
@@ -31,6 +31,7 @@ void init(Integer num) {
3131
setProgressDrawable(mProgressDrawable);
3232
setThumb(getContext().getResources().getDrawable(R.drawable.sesl_color_picker_seekbar_cursor));
3333
setThumbOffset(0);
34+
setSplitTrack(false);
3435
}
3536

3637
private void initColor(int i) {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<set
3+
xmlns:android="http://schemas.android.com/apk/res/android">
4+
<objectAnimator android:interpolator="@android:interpolator/fast_out_slow_in" android:duration="133" android:valueFrom="1.29" android:valueTo="1.176" android:valueType="floatType" android:propertyName="scaleX" />
5+
<objectAnimator android:interpolator="@android:interpolator/fast_out_slow_in" android:duration="133" android:valueFrom="1.29" android:valueTo="1.176" android:valueType="floatType" android:propertyName="scaleY" />
6+
</set>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<set
3+
xmlns:android="http://schemas.android.com/apk/res/android">
4+
<objectAnimator android:interpolator="@android:interpolator/fast_out_slow_in" android:duration="533" android:valueFrom="1.176" android:valueTo="1.29" android:valueType="floatType" android:propertyName="scaleX" />
5+
<objectAnimator android:interpolator="@android:interpolator/fast_out_slow_in" android:duration="533" android:valueFrom="1.176" android:valueTo="1.29" android:valueType="floatType" android:propertyName="scaleY" />
6+
</set>

0 commit comments

Comments
 (0)