Browse Source

Put material color utilities in a separate Gradle module

This avoids polluting our main sourceset and makes it easier to substitute for a proper Gradle dependency in the future

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Álvaro Brey 2 years ago
parent
commit
5636d4354b
28 changed files with 81 additions and 43 deletions
  1. 1 0
      app/build.gradle
  2. 1 1
      app/src/main/java/com/nextcloud/talk/ui/theme/ServerTheme.kt
  3. 1 1
      app/src/main/java/com/nextcloud/talk/ui/theme/ServerThemeImpl.kt
  4. 1 1
      app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt
  5. 1 0
      material-color-utilities/.gitignore
  6. 2 0
      material-color-utilities/README.txt
  7. 33 0
      material-color-utilities/build.gradle
  8. 5 5
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/blend/Blend.java
  9. 2 2
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/Cam16.java
  10. 2 2
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/Hct.java
  11. 3 3
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/HctSolver.java
  12. 3 3
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/ViewingConditions.java
  13. 3 3
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/palettes/CorePalette.java
  14. 2 2
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/palettes/TonalPalette.java
  15. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/PointProvider.java
  16. 2 2
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/PointProviderLab.java
  17. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/Quantizer.java
  18. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerCelebi.java
  19. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerMap.java
  20. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerResult.java
  21. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerWsmeans.java
  22. 2 2
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerWu.java
  23. 3 3
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/scheme/Scheme.java
  24. 4 4
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/score/Score.java
  25. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/utils/ColorUtils.java
  26. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/utils/MathUtils.java
  27. 1 1
      material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/utils/StringUtils.java
  28. 1 0
      settings.gradle

+ 1 - 0
app/build.gradle

@@ -335,6 +335,7 @@ dependencies {
     gplayImplementation "com.google.firebase:firebase-messaging:23.0.7"
 
     // implementation 'androidx.activity:activity-ktx:1.4.0'
+    implementation project(':material-color-utilities')
 }
 
 task installGitHooks(type: Copy, group: "development") {

+ 1 - 1
app/src/main/java/com/nextcloud/talk/ui/theme/ServerTheme.kt

@@ -22,7 +22,7 @@
 package com.nextcloud.talk.ui.theme
 
 import androidx.annotation.ColorInt
-import scheme.Scheme
+import com.material_foundation.material_color_utilities.scheme.Scheme
 
 interface ServerTheme {
     @get:ColorInt

+ 1 - 1
app/src/main/java/com/nextcloud/talk/ui/theme/ServerThemeImpl.kt

@@ -26,7 +26,7 @@ package com.nextcloud.talk.ui.theme
 import com.nextcloud.talk.R
 import com.nextcloud.talk.models.json.capabilities.ThemingCapability
 import com.nextcloud.talk.utils.ui.ColorUtil
-import scheme.Scheme
+import com.material_foundation.material_color_utilities.scheme.Scheme
 
 internal class ServerThemeImpl(themingCapability: ThemingCapability?, colorUtil: ColorUtil) :
     ServerTheme {

+ 1 - 1
app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt

@@ -76,7 +76,7 @@ import com.nextcloud.talk.utils.ui.PlatformThemeUtil.isDarkMode
 import com.vanniktech.emoji.EmojiTextView
 import com.yarolegovich.mp.MaterialPreferenceCategory
 import com.yarolegovich.mp.MaterialSwitchPreference
-import scheme.Scheme
+import com.material_foundation.material_color_utilities.scheme.Scheme
 import javax.inject.Inject
 import kotlin.math.roundToInt
 

+ 1 - 0
material-color-utilities/.gitignore

@@ -0,0 +1 @@
+/build

+ 2 - 0
material-color-utilities/README.txt

@@ -0,0 +1,2 @@
+Imported from https://github.com/material-foundation/material-color-utilities with license APACHE-2.0,to be substituted
+with a Gradle dependency when they publish it.

+ 33 - 0
material-color-utilities/build.gradle

@@ -0,0 +1,33 @@
+/*
+ * Nextcloud Talk application
+ *
+ * @author Álvaro Brey
+ * Copyright (C) 2022 Álvaro Brey
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+plugins {
+    id 'java-library'
+}
+
+java {
+    sourceCompatibility = JavaVersion.VERSION_1_7
+    targetCompatibility = JavaVersion.VERSION_1_7
+}
+
+dependencies {
+    implementation 'com.google.errorprone:error_prone_annotations:2.9.0'
+}

+ 5 - 5
app/src/main/java/blend/Blend.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/blend/Blend.java

@@ -16,12 +16,12 @@
 
 // This file is automatically generated. Do not modify it.
 
-package blend;
+package com.material_foundation.material_color_utilities.blend;
 
-import hct.Cam16;
-import hct.Hct;
-import utils.ColorUtils;
-import utils.MathUtils;
+import com.material_foundation.material_color_utilities.hct.Cam16;
+import com.material_foundation.material_color_utilities.hct.Hct;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.MathUtils;
 
 /** Functions for blending in HCT and CAM16. */
 public class Blend {

+ 2 - 2
app/src/main/java/hct/Cam16.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/Cam16.java

@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package hct;
+package com.material_foundation.material_color_utilities.hct;
 
 import static java.lang.Math.max;
 
-import utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
 
 /**
  * CAM16, a color appearance model. Colors are not just defined by their hex code, but rather, a hex

+ 2 - 2
app/src/main/java/hct/Hct.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/Hct.java

@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package hct;
+package com.material_foundation.material_color_utilities.hct;
 
-import utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
 
 /**
  * A color system built using CAM16 hue and chroma, and L* from L*a*b*.

+ 3 - 3
app/src/main/java/hct/HctSolver.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/HctSolver.java

@@ -16,10 +16,10 @@
 
 // This file is automatically generated. Do not modify it.
 
-package hct;
+package com.material_foundation.material_color_utilities.hct;
 
-import utils.ColorUtils;
-import utils.MathUtils;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.MathUtils;
 
 /** A class that solves the HCT equation. */
 public class HctSolver {

+ 3 - 3
app/src/main/java/hct/ViewingConditions.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/hct/ViewingConditions.java

@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package hct;
+package com.material_foundation.material_color_utilities.hct;
 
-import utils.ColorUtils;
-import utils.MathUtils;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.MathUtils;
 
 /**
  * In traditional color spaces, a color can be identified solely by the observer's measurement of

+ 3 - 3
app/src/main/java/palettes/CorePalette.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/palettes/CorePalette.java

@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package palettes;
+package com.material_foundation.material_color_utilities.palettes;
 
 import static java.lang.Math.max;
 import static java.lang.Math.min;
 
-import hct.Hct;
+import com.material_foundation.material_color_utilities.hct.Hct;
 
 /**
- * An intermediate concept between the key color for a UI theme, and a full color scheme. 5 sets of
+ * An intermediate concept between the key color for a UI theme, and a full color com.material_foundation.material_color_utilities.scheme. 5 sets of
  * tones are generated, all except one use the same hue as the key color, and all vary in chroma.
  */
 public final class CorePalette {

+ 2 - 2
app/src/main/java/palettes/TonalPalette.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/palettes/TonalPalette.java

@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package palettes;
+package com.material_foundation.material_color_utilities.palettes;
 
-import hct.Hct;
+import com.material_foundation.material_color_utilities.hct.Hct;
 import java.util.HashMap;
 import java.util.Map;
 

+ 1 - 1
app/src/main/java/quantize/PointProvider.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/PointProvider.java

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
 /** An interface to allow use of different color spaces by quantizers. */
 public interface PointProvider {

+ 2 - 2
app/src/main/java/quantize/PointProviderLab.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/PointProviderLab.java

@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
-import utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
 
 /**
  * Provides conversions needed for K-Means quantization. Converting input to points, and converting

+ 1 - 1
app/src/main/java/quantize/Quantizer.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/Quantizer.java

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
 interface Quantizer {
   public QuantizerResult quantize(int[] pixels, int maxColors);

+ 1 - 1
app/src/main/java/quantize/QuantizerCelebi.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerCelebi.java

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
 import java.util.Map;
 import java.util.Set;

+ 1 - 1
app/src/main/java/quantize/QuantizerMap.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerMap.java

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
 import java.util.HashMap;
 import java.util.Map;

+ 1 - 1
app/src/main/java/quantize/QuantizerResult.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerResult.java

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
 import java.util.Map;
 

+ 1 - 1
app/src/main/java/quantize/QuantizerWsmeans.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerWsmeans.java

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
 import static java.lang.Math.min;
 

+ 2 - 2
app/src/main/java/quantize/QuantizerWu.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/quantize/QuantizerWu.java

@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package quantize;
+package com.material_foundation.material_color_utilities.quantize;
 
-import utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;

+ 3 - 3
app/src/main/java/scheme/Scheme.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/scheme/Scheme.java

@@ -16,13 +16,13 @@
 
 // This file is automatically generated. Do not modify it.
 
-package scheme;
+package com.material_foundation.material_color_utilities.scheme;
 
 import com.google.errorprone.annotations.CanIgnoreReturnValue;
 import com.google.errorprone.annotations.CheckReturnValue;
-import palettes.CorePalette;
+import com.material_foundation.material_color_utilities.palettes.CorePalette;
 
-/** Represents a Material color scheme, a mapping of color roles to colors. */
+/** Represents a Material color com.material_foundation.material_color_utilities.scheme, a mapping of color roles to colors. */
 @CheckReturnValue
 public class Scheme {
   private int primary;

+ 4 - 4
app/src/main/java/score/Score.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/score/Score.java

@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package score;
+package com.material_foundation.material_color_utilities.score;
 
-import hct.Cam16;
-import utils.ColorUtils;
-import utils.MathUtils;
+import com.material_foundation.material_color_utilities.hct.Cam16;
+import com.material_foundation.material_color_utilities.utils.ColorUtils;
+import com.material_foundation.material_color_utilities.utils.MathUtils;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;

+ 1 - 1
app/src/main/java/utils/ColorUtils.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/utils/ColorUtils.java

@@ -16,7 +16,7 @@
 
 // This file is automatically generated. Do not modify it.
 
-package utils;
+package com.material_foundation.material_color_utilities.utils;
 
 /**
  * Color science utilities.

+ 1 - 1
app/src/main/java/utils/MathUtils.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/utils/MathUtils.java

@@ -16,7 +16,7 @@
 
 // This file is automatically generated. Do not modify it.
 
-package utils;
+package com.material_foundation.material_color_utilities.utils;
 
 /** Utility methods for mathematical operations. */
 public class MathUtils {

+ 1 - 1
app/src/main/java/utils/StringUtils.java → material-color-utilities/src/main/java/com/material_foundation/material_color_utilities/utils/StringUtils.java

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package utils;
+package com.material_foundation.material_color_utilities.utils;
 
 /** Utility methods for string representations of colors. */
 final class StringUtils {

+ 1 - 0
settings.gradle

@@ -19,3 +19,4 @@
  */
 
 include ':app'
+include ':material-color-utilities'