From c0f247c00867e29b78926737fd55bc2d5cf60812 Mon Sep 17 00:00:00 2001 From: thirstycoda Date: Tue, 24 Jan 2023 16:16:04 +0000 Subject: [PATCH 1/5] Added minimum wheel lightness --- app/src/main/res/layout/activity_sample2.xml | 1 + .../src/main/java/com/flask/colorpicker/ColorPickerView.java | 4 +++- library/src/main/res/values/attrs.xml | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_sample2.xml b/app/src/main/res/layout/activity_sample2.xml index ccae920..b5a30a0 100644 --- a/app/src/main/res/layout/activity_sample2.xml +++ b/app/src/main/res/layout/activity_sample2.xml @@ -12,6 +12,7 @@ android:layout_height="wrap_content" app:alphaSlider="true" app:density="12" + app:minimumWheelLightness="0.05" app:lightnessSlider="true" app:wheelType="FLOWER" app:lightnessSliderView="@+id/v_lightness_slider" diff --git a/library/src/main/java/com/flask/colorpicker/ColorPickerView.java b/library/src/main/java/com/flask/colorpicker/ColorPickerView.java index bad746c..f642d3f 100644 --- a/library/src/main/java/com/flask/colorpicker/ColorPickerView.java +++ b/library/src/main/java/com/flask/colorpicker/ColorPickerView.java @@ -43,6 +43,7 @@ public class ColorPickerView extends View { private Integer initialColors[] = new Integer[]{null, null, null, null, null}; private int colorSelection = 0; private Integer initialColor; + private float minimumWheelLightness; private Integer pickerColorEditTextColor; private Paint colorWheelFill = PaintBuilder.newPaint().color(0).build(); private Paint selectorStroke = PaintBuilder.newPaint().color(0).build(); @@ -108,6 +109,7 @@ private void initWith(Context context, AttributeSet attrs) { density = typedArray.getInt(R.styleable.ColorPickerPreference_density, 10); initialColor = typedArray.getInt(R.styleable.ColorPickerPreference_initialColor, 0xffffffff); + minimumWheelLightness = typedArray.getFloat(R.styleable.ColorPickerPreference_minimumWheelLightness, 0.0f); pickerColorEditTextColor = typedArray.getInt(R.styleable.ColorPickerPreference_pickerColorEditTextColor, 0xffffffff); @@ -188,7 +190,7 @@ private void drawColorWheel() { colorWheelRenderOption.cSize = cSize; colorWheelRenderOption.strokeWidth = strokeWidth; colorWheelRenderOption.alpha = alpha; - colorWheelRenderOption.lightness = lightness; + colorWheelRenderOption.lightness = lightness >= minimumWheelLightness ? lightness : 1.0f; colorWheelRenderOption.targetCanvas = colorWheelCanvas; renderer.initWith(colorWheelRenderOption); diff --git a/library/src/main/res/values/attrs.xml b/library/src/main/res/values/attrs.xml index 45887f9..ab7d3d1 100644 --- a/library/src/main/res/values/attrs.xml +++ b/library/src/main/res/values/attrs.xml @@ -6,6 +6,7 @@ + From 1a33c6cfda71bfda9295698dc799112ef6cfee30 Mon Sep 17 00:00:00 2001 From: thirstycoda Date: Tue, 24 Jan 2023 16:57:34 +0000 Subject: [PATCH 2/5] Upgraded gradle, increased sdk version to be compliant with play store --- build.gradle | 3 ++- gradle/wrapper/gradle-wrapper.properties | 5 ++--- library/build.gradle | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index f66525b..45192f1 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.2' + classpath 'com.android.tools.build:gradle:7.2.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -17,5 +17,6 @@ allprojects { repositories { jcenter() google() + maven { url "https://jitpack.io" } } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d17b0fe..639632b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Thu Nov 07 22:59:21 KST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +zipStorePath=wrapper/dists \ No newline at end of file diff --git a/library/build.gradle b/library/build.gradle index e290c2b..07555c6 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,12 +1,13 @@ apply plugin: 'com.android.library' +apply plugin: 'maven-publish' android { - compileSdkVersion 29 - buildToolsVersion "29.0.0" + compileSdkVersion 30 + buildToolsVersion "29.0.2" defaultConfig { minSdkVersion 14 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 17 versionName "0.0.15" } From 6565a2e039d7d3071aaa71838af9ea4c98a9ddb9 Mon Sep 17 00:00:00 2001 From: thirstycoda Date: Tue, 24 Jan 2023 17:37:39 +0000 Subject: [PATCH 3/5] Fix jitpack build --- app/build.gradle | 6 +++--- gradle.properties | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 gradle.properties diff --git a/app/build.gradle b/app/build.gradle index 7a9ff61..028f841 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 29 - buildToolsVersion "29.0.0" + compileSdkVersion 30 + buildToolsVersion "29.0.2" defaultConfig { applicationId "com.flask.colorpicker.sample" minSdkVersion 14 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 10 versionName "1.0.10" diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..2d8d1e4 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +android.useAndroidX=true \ No newline at end of file From 82c58ae9c1894882f6c252f83ddfd2f9a8b64cbe Mon Sep 17 00:00:00 2001 From: thirstycoda Date: Tue, 24 Jan 2023 18:00:35 +0000 Subject: [PATCH 4/5] Attempts to fix jitpack build --- build.gradle | 1 + library/build.gradle | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 45192f1..05c4961 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:7.2.2' + classpath "com.github.dcendents:android-maven-gradle-plugin:2.1" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/library/build.gradle b/library/build.gradle index 07555c6..c21f5c1 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,5 +1,6 @@ apply plugin: 'com.android.library' -apply plugin: 'maven-publish' + +group='com.github.QuadFlask' android { compileSdkVersion 30 @@ -23,3 +24,6 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' } +repositories { + mavenCentral() +} From b812096e3a60ca3e467ee9cad6f2a9d5f2fc6ea6 Mon Sep 17 00:00:00 2001 From: thirstycoda Date: Tue, 24 Jan 2023 21:52:05 +0000 Subject: [PATCH 5/5] Fix color and lightness when going from a black circle to a non black circle with minimumWheelLightness set --- app/src/main/res/layout/activity_sample2.xml | 2 +- .../src/main/java/com/flask/colorpicker/ColorPickerView.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_sample2.xml b/app/src/main/res/layout/activity_sample2.xml index b5a30a0..111c170 100644 --- a/app/src/main/res/layout/activity_sample2.xml +++ b/app/src/main/res/layout/activity_sample2.xml @@ -12,7 +12,7 @@ android:layout_height="wrap_content" app:alphaSlider="true" app:density="12" - app:minimumWheelLightness="0.05" + app:minimumWheelLightness="0.01" app:lightnessSlider="true" app:wheelType="FLOWER" app:lightnessSliderView="@+id/v_lightness_slider" diff --git a/library/src/main/java/com/flask/colorpicker/ColorPickerView.java b/library/src/main/java/com/flask/colorpicker/ColorPickerView.java index f642d3f..7efbf4f 100644 --- a/library/src/main/java/com/flask/colorpicker/ColorPickerView.java +++ b/library/src/main/java/com/flask/colorpicker/ColorPickerView.java @@ -230,6 +230,7 @@ public boolean onTouchEvent(MotionEvent event) { case MotionEvent.ACTION_MOVE: { int lastSelectedColor = getSelectedColor(); currentColorCircle = findNearestByPosition(event.getX(), event.getY()); + lightness = Utils.lightnessOfColor(currentColorCircle.getColor()); int selectedColor = getSelectedColor(); callOnColorChangedListeners(lastSelectedColor, selectedColor);