diff --git a/uhabits-android/build.gradle b/uhabits-android/build.gradle
index 83caae219..7ce317fbc 100644
--- a/uhabits-android/build.gradle
+++ b/uhabits-android/build.gradle
@@ -11,7 +11,7 @@ android {
minSdkVersion 19
targetSdkVersion 25
- buildConfigField "Integer", "databaseVersion", "20"
+ buildConfigField "Integer", "databaseVersion", "21"
buildConfigField "String", "databaseFilename", "\"uhabits.db\""
buildConfigField "int", "roboSdk", (System.getenv("ROBO_SDK") ?: "25")
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java b/uhabits-android/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java
index e9d424c79..c04b54a33 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java
+++ b/uhabits-android/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java
@@ -180,8 +180,8 @@ public class HabitListTest extends BaseAndroidTest
String expectedCSV =
"Position,Name,Description,NumRepetitions,Interval,Color\n" +
- "001,Meditate,Did you meditate this morning?,1,1,#AFB42B\n" +
- "002,Wake up early,Did you wake up before 6am?,2,3,#00897B\n";
+ "001,Meditate,Did you meditate this morning?,1,1,#F9A825\n" +
+ "002,Wake up early,Did you wake up before 6am?,2,3,#388E3C\n";
StringWriter writer = new StringWriter();
habitList.writeCSV(writer);
diff --git a/uhabits-android/src/main/assets/migrations/21.sql b/uhabits-android/src/main/assets/migrations/21.sql
new file mode 100644
index 000000000..20cd9fe89
--- /dev/null
+++ b/uhabits-android/src/main/assets/migrations/21.sql
@@ -0,0 +1,12 @@
+update habits set color=19 where color=12;
+update habits set color=17 where color=11;
+update habits set color=15 where color=10;
+update habits set color=14 where color=9;
+update habits set color=13 where color=8;
+update habits set color=10 where color=7;
+update habits set color=9 where color=6;
+update habits set color=8 where color=5;
+update habits set color=7 where color=4;
+update habits set color=5 where color=3;
+update habits set color=4 where color=2;
+update habits set color=0 where color<0 or color>19;
\ No newline at end of file
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/ColorUtils.java b/uhabits-android/src/main/java/org/isoron/uhabits/utils/ColorUtils.java
index 16845892f..d75e3f1a8 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/utils/ColorUtils.java
+++ b/uhabits-android/src/main/java/org/isoron/uhabits/utils/ColorUtils.java
@@ -26,7 +26,7 @@ import android.util.*;
public abstract class ColorUtils
{
public static int colorToPaletteIndex(Context context, int color)
- {
+ {
StyledResources res = new StyledResources(context);
int[] palette = res.getPalette();
@@ -40,18 +40,25 @@ public abstract class ColorUtils
{
int palette[] = {
Color.parseColor("#D32F2F"), // 0 red
- Color.parseColor("#E64A19"), // 1 orange
- Color.parseColor("#F9A825"), // 2 yellow
- Color.parseColor("#AFB42B"), // 3 light green
- Color.parseColor("#388E3C"), // 4 dark green
- Color.parseColor("#00897B"), // 5 teal
- Color.parseColor("#00ACC1"), // 6 cyan
- Color.parseColor("#039BE5"), // 7 blue
- Color.parseColor("#5E35B1"), // 8 deep purple
- Color.parseColor("#8E24AA"), // 9 purple
- Color.parseColor("#D81B60"), // 10 pink
- Color.parseColor("#303030"), // 11 dark grey
- Color.parseColor("#aaaaaa") // 12 light grey
+ Color.parseColor("#E64A19"), // 1 deep orange
+ Color.parseColor("#F57C00"), // 2 orange
+ Color.parseColor("#FF8F00"), // 3 amber
+ Color.parseColor("#F9A825"), // 4 yellow
+ Color.parseColor("#AFB42B"), // 5 lime
+ Color.parseColor("#7CB342"), // 6 light green
+ Color.parseColor("#388E3C"), // 7 green
+ Color.parseColor("#00897B"), // 8 teal
+ Color.parseColor("#00ACC1"), // 9 cyan
+ Color.parseColor("#039BE5"), // 10 light blue
+ Color.parseColor("#1976D2"), // 11 blue
+ Color.parseColor("#303F9F"), // 12 indigo
+ Color.parseColor("#5E35B1"), // 13 deep purple
+ Color.parseColor("#8E24AA"), // 14 purple
+ Color.parseColor("#D81B60"), // 15 pink
+ Color.parseColor("#5D4037"), // 16 brown
+ Color.parseColor("#303030"), // 17 dark grey
+ Color.parseColor("#757575"), // 18 grey
+ Color.parseColor("#aaaaaa") // 19 light grey
};
return palette[index];
diff --git a/uhabits-android/src/main/res/values/colors.xml b/uhabits-android/src/main/res/values/colors.xml
index 29616a09e..0905b9e3d 100644
--- a/uhabits-android/src/main/res/values/colors.xml
+++ b/uhabits-android/src/main/res/values/colors.xml
@@ -19,47 +19,68 @@
- @color/red_700
- @color/deep_orange_700
+ - @color/orange_700
+ - @color/amber_800
- @color/yellow_800
- @color/lime_700
+ - @color/light_green_600
- @color/green_700
- @color/teal_600
- @color/cyan_600
- @color/light_blue_600
+ - @color/blue_700
+ - @color/indigo_700
- @color/deep_purple_600
- @color/purple_600
- @color/pink_600
+ - @color/brown_700
- @color/grey_800
+ - @color/grey_600
- @color/grey_500
- @color/red_200
- @color/deep_orange_200
+ - @color/orange_200
+ - @color/amber_100
- @color/yellow_200
- @color/lime_200
+ - @color/light_green_200
- @color/green_A200
- @color/teal_200
- @color/cyan_200
- @color/light_blue_200
+ - @color/blue_300
+ - @color/indigo_200
- @color/deep_purple_200
- @color/purple_200
- @color/pink_200
+ - @color/brown_200
- @color/grey_100
+ - @color/grey_300
- @color/grey_500
- @color/red_800
- @color/deep_orange_800
+ - @color/orange_800
+ - @color/amber_800
- @color/yellow_800
- @color/lime_800
+ - @color/light_green_600
- @color/green_700
- @color/teal_700
- @color/cyan_700
- @color/light_blue_700
+ - @color/blue_800
+ - @color/indigo_800
- @color/deep_purple_700
- @color/purple_700
- @color/pink_700
+ - @color/brown_800
+ - @color/black_aa
- @color/black_aa
- @color/black_aa
diff --git a/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java b/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java
index 0f4d97244..a49726ab9 100644
--- a/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java
+++ b/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java
@@ -2,19 +2,26 @@ package org.isoron.uhabits.core.utils;
public class ColorConstants
{
- public static String[] CSV_PALETTE = {
+ public static String CSV_PALETTE[] = {
"#D32F2F", // 0 red
- "#E64A19", // 1 orange
- "#F9A825", // 2 yellow
- "#AFB42B", // 3 light green
- "#388E3C", // 4 dark green
- "#00897B", // 5 teal
- "#00ACC1", // 6 cyan
- "#039BE5", // 7 blue
- "#5E35B1", // 8 deep purple
- "#8E24AA", // 9 purple
- "#D81B60", // 10 pink
- "#303030", // 11 dark grey
- "#aaaaaa" // 12 light grey
+ "#E64A19", // 1 deep orange
+ "#F57C00", // 2 orange
+ "#FF8F00", // 3 amber
+ "#F9A825", // 4 yellow
+ "#AFB42B", // 5 lime
+ "#7CB342", // 6 light green
+ "#388E3C", // 7 green
+ "#00897B", // 8 teal
+ "#00ACC1", // 9 cyan
+ "#039BE5", // 10 light blue
+ "#1976D2", // 11 blue
+ "#303F9F", // 12 indigo
+ "#5E35B1", // 13 deep purple
+ "#8E24AA", // 14 purple
+ "#D81B60", // 15 pink
+ "#5D4037", // 16 brown
+ "#303030", // 17 dark grey
+ "#757575", // 18 grey
+ "#aaaaaa" // 19 light grey
};
}
diff --git a/uhabits-core/src/test/java/org/isoron/uhabits/core/models/HabitListTest.java b/uhabits-core/src/test/java/org/isoron/uhabits/core/models/HabitListTest.java
index ee1c70e92..06a560763 100644
--- a/uhabits-core/src/test/java/org/isoron/uhabits/core/models/HabitListTest.java
+++ b/uhabits-core/src/test/java/org/isoron/uhabits/core/models/HabitListTest.java
@@ -218,8 +218,8 @@ public class HabitListTest extends BaseUnitTest
String expectedCSV =
"Position,Name,Description,NumRepetitions,Interval,Color\n" +
- "001,Meditate,Did you meditate this morning?,1,1,#AFB42B\n" +
- "002,Wake up early,Did you wake up before 6am?,2,3,#00897B\n";
+ "001,Meditate,Did you meditate this morning?,1,1,#FF8F00\n" +
+ "002,Wake up early,Did you wake up before 6am?,2,3,#AFB42B\n";
StringWriter writer = new StringWriter();
list.writeCSV(writer);