From 4ce9013e6a0c7aaf612288c057f0fdc817aa73c6 Mon Sep 17 00:00:00 2001 From: austil Date: Sat, 6 May 2017 13:25:17 +0200 Subject: [PATCH 1/4] New color but Sort By Color broken --- .../common/dialogs/ColorPickerDialog.java | 1 + .../org/isoron/uhabits/models/HabitList.java | 2 +- .../uhabits/models/HabitMatcherBuilder.java | 2 +- .../models/memory/MemoryHabitList.java | 5 +- .../org/isoron/uhabits/utils/ColorUtils.java | 66 ++++++++++++++----- app/src/main/res/values/colors.xml | 9 +++ .../isoron/uhabits/models/HabitListTest.java | 4 +- 7 files changed, 68 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java index c4ab3022c..796b8312f 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java +++ b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java @@ -30,6 +30,7 @@ public class ColorPickerDialog extends com.android.colorpicker.ColorPickerDialog { super.setOnColorSelectedListener(c -> { c = ColorUtils.colorToPaletteIndex(getContext(), c); + c = ColorUtils.StaticColor.getColorByXmlIndex(c).dbIndex; listener.onColorSelected(c); }); } diff --git a/app/src/main/java/org/isoron/uhabits/models/HabitList.java b/app/src/main/java/org/isoron/uhabits/models/HabitList.java index 2892a2c30..50997003d 100644 --- a/app/src/main/java/org/isoron/uhabits/models/HabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/HabitList.java @@ -230,7 +230,7 @@ public abstract class HabitList implements Iterable habit.getDescription(), Integer.toString(freq.getNumerator()), Integer.toString(freq.getDenominator()), - ColorUtils.CSV_PALETTE[habit.getColor()] + ColorUtils.StaticColor.getColorByDbIndex(habit.getColor()).name() }; csv.writeNext(cols, false); diff --git a/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java b/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java index facc8cc4b..e71b031c0 100644 --- a/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java +++ b/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java @@ -36,7 +36,7 @@ public class HabitMatcherBuilder private static List allColors() { List colors = new ArrayList<>(); - for(int i = 0; i < ColorUtils.CSV_PALETTE.length; i++) + for(int i = 0; i < ColorUtils.StaticColor.values().length; i++) colors.add(i); return colors; } diff --git a/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java b/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java index 32f1982c4..55b2726c0 100644 --- a/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java @@ -22,6 +22,7 @@ package org.isoron.uhabits.models.memory; import android.support.annotation.*; import org.isoron.uhabits.models.*; +import org.isoron.uhabits.utils.ColorUtils; import java.util.*; @@ -155,8 +156,8 @@ public class MemoryHabitList extends HabitList (h1, h2) -> h1.getName().compareTo(h2.getName()); Comparator colorComparator = (h1, h2) -> { - Integer c1 = h1.getColor(); - Integer c2 = h2.getColor(); + Integer c1 = ColorUtils.StaticColor.getColorByDbIndex(h1.getColor()).xmlIndex; + Integer c2 = ColorUtils.StaticColor.getColorByDbIndex(h2.getColor()).xmlIndex; if (c1.equals(c2)) return nameComparator.compare(h1, h2); else return c1.compareTo(c2); }; diff --git a/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java index 25434bacc..a259244b6 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java @@ -25,21 +25,55 @@ import android.util.*; public abstract class ColorUtils { - 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 - }; + + public enum StaticColor + { + RED ( 0, 0), + DEEP_ORANGE ( 1, 1), + ORANGE ( 2,13), + YELLOW ( 3, 2), + LIGHT_GREEN ( 4, 3), + DARK_GREEN ( 5, 4), + TEAL ( 6, 5), + CYAN ( 7, 6), + BLUE ( 8, 7), + DEEP_PURPLE ( 9, 8), + PURPLE (10, 9), + PINK (11,10), + BROWN (12,14), + DARK_GREY (13,11), + GREY (14,15), + LIGHT_GREY (15,12); + + public final int xmlIndex; + public final int dbIndex; + + StaticColor(int xmlIndex, int dbIndex) + { + this.xmlIndex = xmlIndex; + this.dbIndex = dbIndex; + } + + public static StaticColor getColorByDbIndex(int dbIndex) + { + for(StaticColor c : StaticColor.values()) + if (c.dbIndex == dbIndex) return c; + + Log.w("ColorHelper", + String.format("Invalid color db index: %d. Returning default.", dbIndex)); + return RED; + } + + public static StaticColor getColorByXmlIndex(int xmlIndex) + { + for(StaticColor c : StaticColor.values()) + if (c.xmlIndex == xmlIndex) return c; + + Log.w("ColorHelper", + String.format("Invalid color xml index: %d. Returning default.", xmlIndex)); + return RED; + } + } public static int colorToPaletteIndex(Context context, int color) { @@ -78,6 +112,8 @@ public abstract class ColorUtils if (context == null) throw new IllegalArgumentException("Context is null"); + paletteColor = ColorUtils.StaticColor.getColorByDbIndex(paletteColor).xmlIndex; + StyledResources res = new StyledResources(context); int palette[] = res.getPalette(); if (paletteColor < 0 || paletteColor >= palette.length) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 29616a09e..4138ed7e5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -19,6 +19,7 @@ @color/red_700 @color/deep_orange_700 + @color/orange_700 @color/yellow_800 @color/lime_700 @color/green_700 @@ -28,13 +29,16 @@ @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/yellow_200 @color/lime_200 @color/green_A200 @@ -44,13 +48,16 @@ @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/yellow_800 @color/lime_800 @color/green_700 @@ -60,6 +67,8 @@ @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/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java index 961e1536c..f37a207b9 100644 --- a/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java +++ b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java @@ -172,8 +172,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,LIGHT_GREEN\n" + + "002,Wake up early,Did you wake up before 6am?,2,3,TEAL\n"; StringWriter writer = new StringWriter(); list.writeCSV(writer); From 894423e49f97e5d372f4cfc6f1156778de670b61 Mon Sep 17 00:00:00 2001 From: austil Date: Sat, 6 May 2017 13:27:28 +0200 Subject: [PATCH 2/4] Revert "New color but Sort By Color broken" This reverts commit 4ce9013e6a0c7aaf612288c057f0fdc817aa73c6. --- .../common/dialogs/ColorPickerDialog.java | 1 - .../org/isoron/uhabits/models/HabitList.java | 2 +- .../uhabits/models/HabitMatcherBuilder.java | 2 +- .../models/memory/MemoryHabitList.java | 5 +- .../org/isoron/uhabits/utils/ColorUtils.java | 66 +++++-------------- app/src/main/res/values/colors.xml | 9 --- .../isoron/uhabits/models/HabitListTest.java | 4 +- 7 files changed, 21 insertions(+), 68 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java index 796b8312f..c4ab3022c 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java +++ b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java @@ -30,7 +30,6 @@ public class ColorPickerDialog extends com.android.colorpicker.ColorPickerDialog { super.setOnColorSelectedListener(c -> { c = ColorUtils.colorToPaletteIndex(getContext(), c); - c = ColorUtils.StaticColor.getColorByXmlIndex(c).dbIndex; listener.onColorSelected(c); }); } diff --git a/app/src/main/java/org/isoron/uhabits/models/HabitList.java b/app/src/main/java/org/isoron/uhabits/models/HabitList.java index 50997003d..2892a2c30 100644 --- a/app/src/main/java/org/isoron/uhabits/models/HabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/HabitList.java @@ -230,7 +230,7 @@ public abstract class HabitList implements Iterable habit.getDescription(), Integer.toString(freq.getNumerator()), Integer.toString(freq.getDenominator()), - ColorUtils.StaticColor.getColorByDbIndex(habit.getColor()).name() + ColorUtils.CSV_PALETTE[habit.getColor()] }; csv.writeNext(cols, false); diff --git a/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java b/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java index e71b031c0..facc8cc4b 100644 --- a/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java +++ b/app/src/main/java/org/isoron/uhabits/models/HabitMatcherBuilder.java @@ -36,7 +36,7 @@ public class HabitMatcherBuilder private static List allColors() { List colors = new ArrayList<>(); - for(int i = 0; i < ColorUtils.StaticColor.values().length; i++) + for(int i = 0; i < ColorUtils.CSV_PALETTE.length; i++) colors.add(i); return colors; } diff --git a/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java b/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java index 55b2726c0..32f1982c4 100644 --- a/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java @@ -22,7 +22,6 @@ package org.isoron.uhabits.models.memory; import android.support.annotation.*; import org.isoron.uhabits.models.*; -import org.isoron.uhabits.utils.ColorUtils; import java.util.*; @@ -156,8 +155,8 @@ public class MemoryHabitList extends HabitList (h1, h2) -> h1.getName().compareTo(h2.getName()); Comparator colorComparator = (h1, h2) -> { - Integer c1 = ColorUtils.StaticColor.getColorByDbIndex(h1.getColor()).xmlIndex; - Integer c2 = ColorUtils.StaticColor.getColorByDbIndex(h2.getColor()).xmlIndex; + Integer c1 = h1.getColor(); + Integer c2 = h2.getColor(); if (c1.equals(c2)) return nameComparator.compare(h1, h2); else return c1.compareTo(c2); }; diff --git a/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java index a259244b6..25434bacc 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java @@ -25,55 +25,21 @@ import android.util.*; public abstract class ColorUtils { - - public enum StaticColor - { - RED ( 0, 0), - DEEP_ORANGE ( 1, 1), - ORANGE ( 2,13), - YELLOW ( 3, 2), - LIGHT_GREEN ( 4, 3), - DARK_GREEN ( 5, 4), - TEAL ( 6, 5), - CYAN ( 7, 6), - BLUE ( 8, 7), - DEEP_PURPLE ( 9, 8), - PURPLE (10, 9), - PINK (11,10), - BROWN (12,14), - DARK_GREY (13,11), - GREY (14,15), - LIGHT_GREY (15,12); - - public final int xmlIndex; - public final int dbIndex; - - StaticColor(int xmlIndex, int dbIndex) - { - this.xmlIndex = xmlIndex; - this.dbIndex = dbIndex; - } - - public static StaticColor getColorByDbIndex(int dbIndex) - { - for(StaticColor c : StaticColor.values()) - if (c.dbIndex == dbIndex) return c; - - Log.w("ColorHelper", - String.format("Invalid color db index: %d. Returning default.", dbIndex)); - return RED; - } - - public static StaticColor getColorByXmlIndex(int xmlIndex) - { - for(StaticColor c : StaticColor.values()) - if (c.xmlIndex == xmlIndex) return c; - - Log.w("ColorHelper", - String.format("Invalid color xml index: %d. Returning default.", xmlIndex)); - return RED; - } - } + 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 + }; public static int colorToPaletteIndex(Context context, int color) { @@ -112,8 +78,6 @@ public abstract class ColorUtils if (context == null) throw new IllegalArgumentException("Context is null"); - paletteColor = ColorUtils.StaticColor.getColorByDbIndex(paletteColor).xmlIndex; - StyledResources res = new StyledResources(context); int palette[] = res.getPalette(); if (paletteColor < 0 || paletteColor >= palette.length) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4138ed7e5..29616a09e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -19,7 +19,6 @@ @color/red_700 @color/deep_orange_700 - @color/orange_700 @color/yellow_800 @color/lime_700 @color/green_700 @@ -29,16 +28,13 @@ @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/yellow_200 @color/lime_200 @color/green_A200 @@ -48,16 +44,13 @@ @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/yellow_800 @color/lime_800 @color/green_700 @@ -67,8 +60,6 @@ @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/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java index f37a207b9..961e1536c 100644 --- a/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java +++ b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java @@ -172,8 +172,8 @@ public class HabitListTest extends BaseUnitTest String expectedCSV = "Position,Name,Description,NumRepetitions,Interval,Color\n" + - "001,Meditate,Did you meditate this morning?,1,1,LIGHT_GREEN\n" + - "002,Wake up early,Did you wake up before 6am?,2,3,TEAL\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"; StringWriter writer = new StringWriter(); list.writeCSV(writer); From 8a80a66a80a75bb3ea5dcea0bd40437bfcdb1c4c Mon Sep 17 00:00:00 2001 From: austil Date: Sat, 6 May 2017 16:38:14 +0200 Subject: [PATCH 3/4] More Colors for habits --- .../isoron/uhabits/models/HabitListTest.java | 4 +- .../org/isoron/uhabits/utils/ColorUtils.java | 54 ++++++++++--------- app/src/main/res/values/colors.xml | 9 ++++ .../isoron/uhabits/models/HabitListTest.java | 4 +- 4 files changed, 43 insertions(+), 28 deletions(-) diff --git a/app/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java b/app/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java index 92f71a3f4..109627d47 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java @@ -181,8 +181,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/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java index 25434bacc..b7113027a 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java @@ -27,18 +27,21 @@ public abstract class ColorUtils { 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 + "#F9A825", // 3 yellow + "#AFB42B", // 4 light green + "#388E3C", // 5 dark green + "#00897B", // 6 teal + "#00ACC1", // 7 cyan + "#039BE5", // 8 blue + "#5E35B1", // 9 deep purple + "#8E24AA", // 10 purple + "#D81B60", // 11 pink + "#5D4037", // 12 brown + "#303030", // 13 dark grey + "#757575", // 14 grey + "#aaaaaa" // 15 light grey }; public static int colorToPaletteIndex(Context context, int color) @@ -56,18 +59,21 @@ 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("#F9A825"), // 3 yellow + Color.parseColor("#AFB42B"), // 4 light green + Color.parseColor("#388E3C"), // 5 dark green + Color.parseColor("#00897B"), // 6 teal + Color.parseColor("#00ACC1"), // 7 cyan + Color.parseColor("#039BE5"), // 8 blue + Color.parseColor("#5E35B1"), // 9 deep purple + Color.parseColor("#8E24AA"), // 10 purple + Color.parseColor("#D81B60"), // 11 pink + Color.parseColor("#5D4037"), // 12 brown + Color.parseColor("#303030"), // 13 dark grey + Color.parseColor("#757575"), // 14 grey + Color.parseColor("#aaaaaa") // 15 light grey }; return palette[index]; diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 29616a09e..4138ed7e5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -19,6 +19,7 @@ @color/red_700 @color/deep_orange_700 + @color/orange_700 @color/yellow_800 @color/lime_700 @color/green_700 @@ -28,13 +29,16 @@ @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/yellow_200 @color/lime_200 @color/green_A200 @@ -44,13 +48,16 @@ @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/yellow_800 @color/lime_800 @color/green_700 @@ -60,6 +67,8 @@ @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/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java index 961e1536c..2b77f9f02 100644 --- a/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java +++ b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java @@ -172,8 +172,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,#F9A825\n" + + "002,Wake up early,Did you wake up before 6am?,2,3,#388E3C\n"; StringWriter writer = new StringWriter(); list.writeCSV(writer); From d0d3c7eef5430d0828e42251c78ff301edbe92dc Mon Sep 17 00:00:00 2001 From: austil Date: Sat, 3 Jun 2017 15:16:09 +0200 Subject: [PATCH 4/4] More Colors - requested changes --- app/build.gradle | 2 +- app/src/main/assets/migrations/20.sql | 12 ++++ .../org/isoron/uhabits/utils/ColorUtils.java | 60 +++++++++++-------- app/src/main/res/values/colors.xml | 12 ++++ .../isoron/uhabits/models/HabitListTest.java | 4 +- 5 files changed, 61 insertions(+), 29 deletions(-) create mode 100644 app/src/main/assets/migrations/20.sql diff --git a/app/build.gradle b/app/build.gradle index 8d1e3ce1f..6661682b2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ android { minSdkVersion 15 targetSdkVersion 25 - buildConfigField "Integer", "databaseVersion", "19" + buildConfigField "Integer", "databaseVersion", "20" buildConfigField "String", "databaseFilename", "\"uhabits.db\"" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/assets/migrations/20.sql b/app/src/main/assets/migrations/20.sql new file mode 100644 index 000000000..20cd9fe89 --- /dev/null +++ b/app/src/main/assets/migrations/20.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/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java index b7113027a..7c4d15412 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java @@ -29,19 +29,23 @@ public abstract class ColorUtils "#D32F2F", // 0 red "#E64A19", // 1 deep orange "#F57C00", // 2 orange - "#F9A825", // 3 yellow - "#AFB42B", // 4 light green - "#388E3C", // 5 dark green - "#00897B", // 6 teal - "#00ACC1", // 7 cyan - "#039BE5", // 8 blue - "#5E35B1", // 9 deep purple - "#8E24AA", // 10 purple - "#D81B60", // 11 pink - "#5D4037", // 12 brown - "#303030", // 13 dark grey - "#757575", // 14 grey - "#aaaaaa" // 15 light grey + "#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 }; public static int colorToPaletteIndex(Context context, int color) @@ -61,19 +65,23 @@ public abstract class ColorUtils Color.parseColor("#D32F2F"), // 0 red Color.parseColor("#E64A19"), // 1 deep orange Color.parseColor("#F57C00"), // 2 orange - Color.parseColor("#F9A825"), // 3 yellow - Color.parseColor("#AFB42B"), // 4 light green - Color.parseColor("#388E3C"), // 5 dark green - Color.parseColor("#00897B"), // 6 teal - Color.parseColor("#00ACC1"), // 7 cyan - Color.parseColor("#039BE5"), // 8 blue - Color.parseColor("#5E35B1"), // 9 deep purple - Color.parseColor("#8E24AA"), // 10 purple - Color.parseColor("#D81B60"), // 11 pink - Color.parseColor("#5D4037"), // 12 brown - Color.parseColor("#303030"), // 13 dark grey - Color.parseColor("#757575"), // 14 grey - Color.parseColor("#aaaaaa") // 15 light grey + 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/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4138ed7e5..0905b9e3d 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -20,12 +20,16 @@ @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 @@ -39,12 +43,16 @@ @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 @@ -58,12 +66,16 @@ @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 diff --git a/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java index 2b77f9f02..9d5f90681 100644 --- a/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java +++ b/app/src/test/java/org/isoron/uhabits/models/HabitListTest.java @@ -172,8 +172,8 @@ public class HabitListTest extends BaseUnitTest String expectedCSV = "Position,Name,Description,NumRepetitions,Interval,Color\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"; + "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);