Change habit.color palette according to current theme

pull/84/head
Alinson S. Xavier 10 years ago
parent cf06ec0a4b
commit dd1f6c9efc

@ -23,7 +23,6 @@ import android.content.Context;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.util.Log; import android.util.Log;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.helpers.DatabaseHelper; import org.isoron.uhabits.helpers.DatabaseHelper;
import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.helpers.DateHelper;
import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Habit;
@ -66,7 +65,7 @@ public class HabitFixtures
Habit habit = new Habit(); Habit habit = new Habit();
habit.name = "Meditate"; habit.name = "Meditate";
habit.description = "Did you meditate this morning?"; habit.description = "Did you meditate this morning?";
habit.color = ColorHelper.palette[3]; habit.color = 3;
habit.freqNum = 1; habit.freqNum = 1;
habit.freqDen = 1; habit.freqDen = 1;
habit.save(); habit.save();
@ -78,7 +77,7 @@ public class HabitFixtures
Habit habit = createEmptyHabit(); Habit habit = createEmptyHabit();
habit.freqNum = 3; habit.freqNum = 3;
habit.freqDen = 7; habit.freqDen = 7;
habit.color = ColorHelper.palette[4]; habit.color = 4;
habit.save(); habit.save();
long day = DateHelper.millisecondsInOneDay; long day = DateHelper.millisecondsInOneDay;

@ -24,7 +24,6 @@ import android.test.suitebuilder.annotation.SmallTest;
import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.BaseTest;
import org.isoron.uhabits.commands.ChangeHabitColorCommand; import org.isoron.uhabits.commands.ChangeHabitColorCommand;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Habit;
import org.isoron.uhabits.unit.HabitFixtures; import org.isoron.uhabits.unit.HabitFixtures;
import org.junit.Before; import org.junit.Before;
@ -53,12 +52,12 @@ public class ChangeHabitColorCommandTest extends BaseTest
for(int i = 0; i < 3; i ++) for(int i = 0; i < 3; i ++)
{ {
Habit habit = HabitFixtures.createShortHabit(); Habit habit = HabitFixtures.createShortHabit();
habit.color = ColorHelper.palette[i+1]; habit.color = i+1;
habit.save(); habit.save();
habits.add(habit); habits.add(habit);
} }
command = new ChangeHabitColorCommand(habits, ColorHelper.palette[0]); command = new ChangeHabitColorCommand(habits, 0);
} }
@Test @Test
@ -80,12 +79,12 @@ public class ChangeHabitColorCommandTest extends BaseTest
{ {
int k = 0; int k = 0;
for(Habit h : habits) for(Habit h : habits)
assertThat(h.color, equalTo(ColorHelper.palette[++k])); assertThat(h.color, equalTo(++k));
} }
private void checkNewColors() private void checkNewColors()
{ {
for(Habit h : habits) for(Habit h : habits)
assertThat(h.color, equalTo(ColorHelper.palette[0])); assertThat(h.color, equalTo(0));
} }
} }

@ -19,7 +19,6 @@
package org.isoron.uhabits.unit.models; package org.isoron.uhabits.unit.models;
import android.graphics.Color;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.SmallTest;
@ -78,7 +77,7 @@ public class HabitTest extends BaseTest
Habit model = new Habit(); Habit model = new Habit();
model.archived = 1; model.archived = 1;
model.highlight = 1; model.highlight = 1;
model.color = Color.BLACK; model.color = 0;
model.freqNum = 10; model.freqNum = 10;
model.freqDen = 20; model.freqDen = 20;
model.reminderDays = 1; model.reminderDays = 1;

@ -23,7 +23,6 @@ import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.SmallTest;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.views.NumberView; import org.isoron.uhabits.views.NumberView;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -45,7 +44,7 @@ public class NumberViewTest extends ViewTest
view = new NumberView(targetContext); view = new NumberView(targetContext);
view.setLabel("Hello world"); view.setLabel("Hello world");
view.setNumber(31); view.setNumber(31);
view.setColor(ColorHelper.palette[0]); view.setColor(0);
measureView(dpToPixels(100), dpToPixels(100), view); measureView(dpToPixels(100), dpToPixels(100), view);
} }
@ -68,7 +67,7 @@ public class NumberViewTest extends ViewTest
public void testRender_withDifferentParams() throws IOException public void testRender_withDifferentParams() throws IOException
{ {
view.setNumber(500); view.setNumber(500);
view.setColor(ColorHelper.palette[5]); view.setColor(5);
view.setTextSize(targetContext.getResources().getDimension(R.dimen.tinyTextSize)); view.setTextSize(targetContext.getResources().getDimension(R.dimen.tinyTextSize));
measureView(dpToPixels(200), dpToPixels(200), view); measureView(dpToPixels(200), dpToPixels(200), view);

@ -22,7 +22,6 @@ package org.isoron.uhabits.unit.views;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.SmallTest;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.views.RingView; import org.isoron.uhabits.views.RingView;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -44,7 +43,7 @@ public class RingViewTest extends ViewTest
view = new RingView(targetContext); view = new RingView(targetContext);
view.setLabel("Hello world"); view.setLabel("Hello world");
view.setPercentage(0.6f); view.setPercentage(0.6f);
view.setColor(ColorHelper.palette[0]); view.setColor(0);
view.setMaxDiameter(dpToPixels(100)); view.setMaxDiameter(dpToPixels(100));
} }
@ -70,7 +69,7 @@ public class RingViewTest extends ViewTest
view.setLabel("Habit Strength"); view.setLabel("Habit Strength");
view.setPercentage(0.25f); view.setPercentage(0.25f);
view.setMaxDiameter(dpToPixels(50)); view.setMaxDiameter(dpToPixels(50));
view.setColor(ColorHelper.palette[5]); view.setColor(5);
measureView(dpToPixels(200), dpToPixels(200), view); measureView(dpToPixels(200), dpToPixels(200), view);
assertRenders(view, "RingView/renderDifferentParams.png"); assertRenders(view, "RingView/renderDifferentParams.png");

@ -40,7 +40,7 @@
android:backupAgent=".HabitsBackupAgent" android:backupAgent=".HabitsBackupAgent"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/main_activity_title" android:label="@string/main_activity_title"
android:theme="@style/AppBaseTheme" android:theme="@style/AppBaseThemeDark"
android:supportsRtl="true"> android:supportsRtl="true">
<meta-data <meta-data

@ -25,6 +25,7 @@ import android.graphics.drawable.ColorDrawable;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Habit;
public class ShowHabitActivity extends BaseActivity public class ShowHabitActivity extends BaseActivity
@ -44,7 +45,11 @@ public class ShowHabitActivity extends BaseActivity
{ {
actionBar.setTitle(getHabit().name); actionBar.setTitle(getHabit().name);
if (android.os.Build.VERSION.SDK_INT >= 21) if (android.os.Build.VERSION.SDK_INT >= 21)
actionBar.setBackgroundDrawable(new ColorDrawable(getHabit().color)); {
int androidColor = ColorHelper.getColor(this, getHabit().color);
ColorDrawable drawable = new ColorDrawable(androidColor);
actionBar.setBackgroundDrawable(drawable);
}
} }
setContentView(R.layout.show_habit_activity); setContentView(R.layout.show_habit_activity);

@ -40,14 +40,14 @@ import com.android.colorpicker.ColorPickerSwatch;
import com.android.datetimepicker.time.RadialPickerLayout; import com.android.datetimepicker.time.RadialPickerLayout;
import com.android.datetimepicker.time.TimePickerDialog; import com.android.datetimepicker.time.TimePickerDialog;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.helpers.DateHelper;
import org.isoron.uhabits.helpers.UIHelper.OnSavedListener;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.commands.Command; import org.isoron.uhabits.commands.Command;
import org.isoron.uhabits.commands.CreateHabitCommand; import org.isoron.uhabits.commands.CreateHabitCommand;
import org.isoron.uhabits.commands.EditHabitCommand; import org.isoron.uhabits.commands.EditHabitCommand;
import org.isoron.uhabits.dialogs.WeekdayPickerDialog; import org.isoron.uhabits.dialogs.WeekdayPickerDialog;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.helpers.DateHelper;
import org.isoron.uhabits.helpers.UIHelper.OnSavedListener;
import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Habit;
import java.util.Arrays; import java.util.Arrays;
@ -138,7 +138,7 @@ public class EditHabitFragment extends DialogFragment
modifiedHabit = new Habit(); modifiedHabit = new Habit();
modifiedHabit.freqNum = 1; modifiedHabit.freqNum = 1;
modifiedHabit.freqDen = 1; modifiedHabit.freqDen = 1;
modifiedHabit.color = prefs.getInt("pref_default_habit_color", modifiedHabit.color); modifiedHabit.color = prefs.getInt("pref_default_habit_palette_color", modifiedHabit.color);
} }
else if (mode == EDIT_MODE) else if (mode == EDIT_MODE)
{ {
@ -174,13 +174,13 @@ public class EditHabitFragment extends DialogFragment
return view; return view;
} }
private void changeColor(Integer color) private void changeColor(int paletteColor)
{ {
modifiedHabit.color = color; modifiedHabit.color = paletteColor;
tvName.setTextColor(color); tvName.setTextColor(ColorHelper.getColor(getActivity(), paletteColor));
SharedPreferences.Editor editor = prefs.edit(); SharedPreferences.Editor editor = prefs.edit();
editor.putInt("pref_default_habit_color", color); editor.putInt("pref_default_habit_palette_color", paletteColor);
editor.apply(); editor.apply();
} }
@ -237,15 +237,18 @@ public class EditHabitFragment extends DialogFragment
private void onColorButtonClick() private void onColorButtonClick()
{ {
int originalAndroidColor = ColorHelper.getColor(getActivity(), modifiedHabit.color);
ColorPickerDialog picker = ColorPickerDialog.newInstance( ColorPickerDialog picker = ColorPickerDialog.newInstance(
R.string.color_picker_default_title, ColorHelper.palette, modifiedHabit.color, 4, R.string.color_picker_default_title, ColorHelper.getPalette(getActivity()),
ColorPickerDialog.SIZE_SMALL); originalAndroidColor, 4, ColorPickerDialog.SIZE_SMALL);
picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener() picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener()
{ {
public void onColorSelected(int color) public void onColorSelected(int androidColor)
{ {
changeColor(color); int paletteColor = ColorHelper.colorToPaletteIndex(getActivity(), androidColor);
changeColor(paletteColor);
} }
}); });
picker.show(getFragmentManager(), "picker"); picker.show(getFragmentManager(), "picker");

@ -29,8 +29,8 @@ import android.widget.ProgressBar;
import com.android.colorpicker.ColorPickerDialog; import com.android.colorpicker.ColorPickerDialog;
import com.android.colorpicker.ColorPickerSwatch; import com.android.colorpicker.ColorPickerSwatch;
import org.isoron.uhabits.R;
import org.isoron.uhabits.BaseActivity; import org.isoron.uhabits.BaseActivity;
import org.isoron.uhabits.R;
import org.isoron.uhabits.commands.ArchiveHabitsCommand; import org.isoron.uhabits.commands.ArchiveHabitsCommand;
import org.isoron.uhabits.commands.ChangeHabitColorCommand; import org.isoron.uhabits.commands.ChangeHabitColorCommand;
import org.isoron.uhabits.commands.DeleteHabitsCommand; import org.isoron.uhabits.commands.DeleteHabitsCommand;
@ -163,15 +163,20 @@ public class HabitSelectionCallback implements ActionMode.Callback
case R.id.action_color: case R.id.action_color:
{ {
ColorPickerDialog picker = ColorPickerDialog.newInstance(R.string.color_picker_default_title, int originalAndroidColor = ColorHelper.getColor(activity, firstHabit.color);
ColorHelper.palette, firstHabit.color, 4, ColorPickerDialog.SIZE_SMALL);
ColorPickerDialog picker = ColorPickerDialog.newInstance(
R.string.color_picker_default_title, ColorHelper.getPalette(activity),
originalAndroidColor, 4, ColorPickerDialog.SIZE_SMALL);
picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener() picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener()
{ {
public void onColorSelected(int color) public void onColorSelected(int androidColor)
{ {
activity.executeCommand( int paletteColor = ColorHelper.colorToPaletteIndex(activity,
new ChangeHabitColorCommand(selectedHabits, color), null); androidColor);
activity.executeCommand(new ChangeHabitColorCommand(selectedHabits,
paletteColor), null);
mode.finish(); mode.finish();
} }
}); });

@ -163,7 +163,8 @@ public class ShowHabitFragment extends Fragment
float percentage = todayValue / Score.MAX_VALUE; float percentage = todayValue / Score.MAX_VALUE;
RingView scoreRing = (RingView) view.findViewById(R.id.scoreRing); RingView scoreRing = (RingView) view.findViewById(R.id.scoreRing);
scoreRing.setColor(habit.color); int androidColor = ColorHelper.getColor(getActivity(), habit.color);
scoreRing.setColor(androidColor);
scoreRing.setPercentage(percentage); scoreRing.setPercentage(percentage);
} }
@ -173,7 +174,8 @@ public class ShowHabitFragment extends Fragment
if (android.os.Build.VERSION.SDK_INT >= 21) if (android.os.Build.VERSION.SDK_INT >= 21)
{ {
int darkerHabitColor = ColorHelper.mixColors(habit.color, Color.BLACK, 0.75f); int color = ColorHelper.getColor(getActivity(), habit.color);
int darkerHabitColor = ColorHelper.mixColors(color, Color.BLACK, 0.75f);
activity.getWindow().setStatusBarColor(darkerHabitColor); activity.getWindow().setStatusBarColor(darkerHabitColor);
} }
@ -189,7 +191,8 @@ public class ShowHabitFragment extends Fragment
if(habit == null) return; if(habit == null) return;
TextView textView = (TextView) view.findViewById(viewId); TextView textView = (TextView) view.findViewById(viewId);
textView.setTextColor(habit.color); int androidColor = ColorHelper.getColor(activity, habit.color);
textView.setTextColor(androidColor);
} }
@Override @Override

@ -19,11 +19,17 @@
package org.isoron.uhabits.helpers; package org.isoron.uhabits.helpers;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color; import android.graphics.Color;
import android.util.Log;
import org.isoron.uhabits.R;
public class ColorHelper public class ColorHelper
{ {
public static final int[] palette =
public static int CSV_PALETTE[] =
{ {
Color.parseColor("#D32F2F"), // red Color.parseColor("#D32F2F"), // red
Color.parseColor("#E64A19"), // orange Color.parseColor("#E64A19"), // orange
@ -40,6 +46,64 @@ public class ColorHelper
Color.parseColor("#aaaaaa") // light grey Color.parseColor("#aaaaaa") // light grey
}; };
public static int colorToPaletteIndex(Context context, int color)
{
int[] palette = getPalette(context);
for(int k = 0; k < palette.length; k++)
if(palette[k] == color) return k;
return -1;
}
public static int[] getPalette(Context context)
{
int[] attr = new int[] { R.attr.palette };
TypedArray array = context.obtainStyledAttributes(attr);
int resourceId = array.getResourceId(0, -1);
array.recycle();
if(resourceId < 0)
{
Log.w("ColorHelper", "could not find palette resource. Returning CSV palette");
return CSV_PALETTE;
}
return context.getResources().getIntArray(resourceId);
}
public static int getColor(Context context, int paletteColor)
{
if(context == null) throw new IllegalArgumentException("Context is null");
int palette[] = getPalette(context);
if(paletteColor < 0 || paletteColor >= palette.length)
{
// TODO: Write DB migration and change warnings to runtime exceptions
int androidColor = paletteColor;
paletteColor = -1;
Log.w("ColorHelper", "Invalid palette color detected. Trying to convert.");
for(int k = 0; k < CSV_PALETTE.length; k++)
{
if (CSV_PALETTE[k] == androidColor)
{
paletteColor = k;
break;
}
}
if(paletteColor < 0)
{
Log.w("ColorHelper", "Conversion failed. Returning default.");
paletteColor = 0;
}
}
return palette[paletteColor];
}
public static int mixColors(int color1, int color2, float amount) public static int mixColors(int color1, int color2, float amount)
{ {
final byte ALPHA_CHANNEL = 24; final byte ALPHA_CHANNEL = 24;

@ -93,7 +93,7 @@ public class ListHabitsHelper
public int getActiveColor(Habit habit) public int getActiveColor(Habit habit)
{ {
int activeColor = habit.color; int activeColor = ColorHelper.getColor(context, habit.color);
if(habit.isArchived()) activeColor = inactiveColor; if(habit.isArchived()) activeColor = inactiveColor;
return activeColor; return activeColor;
@ -221,9 +221,11 @@ public class ListHabitsHelper
public void toggleCheckmarkView(View v, Habit habit) public void toggleCheckmarkView(View v, Habit habit)
{ {
int androidColor = ColorHelper.getColor(context, habit.color);
if (v.getTag(R.string.toggle_key).equals(2)) if (v.getTag(R.string.toggle_key).equals(2))
updateCheckmark(habit.color, (TextView) v, 0); updateCheckmark(androidColor, (TextView) v, 0);
else else
updateCheckmark(habit.color, (TextView) v, 2); updateCheckmark(androidColor, (TextView) v, 2);
} }
} }

@ -71,7 +71,11 @@ public class Habit extends Model
public Integer freqDen; public Integer freqDen;
/** /**
* Color of the habit. The format is the same as android.graphics.Color. * Color of the habit.
*
* This number is not an android.graphics.Color, but an index to the activity color palette,
* which changes according to the theme. To convert this color into an android.graphics.Color,
* use ColorHelper.getColor(context, habit.color).
*/ */
@Column(name = "color") @Column(name = "color")
public Integer color; public Integer color;
@ -166,7 +170,7 @@ public class Habit extends Model
*/ */
public Habit() public Habit()
{ {
this.color = ColorHelper.palette[5]; this.color = 5;
this.position = Habit.countWithArchived(); this.position = Habit.countWithArchived();
this.highlight = 0; this.highlight = 0;
this.archived = 0; this.archived = 0;
@ -492,8 +496,15 @@ public class Habit extends Model
for(Habit habit : habits) for(Habit habit : habits)
{ {
String[] cols = { habit.name, habit.description, Integer.toString(habit.freqNum), String[] cols =
Integer.toString(habit.freqDen), ColorHelper.toHTML(habit.color) }; {
habit.name,
habit.description,
Integer.toString(habit.freqNum),
Integer.toString(habit.freqDen),
ColorHelper.toHTML(ColorHelper.CSV_PALETTE[habit.color])
};
csv.writeNext(cols, false); csv.writeNext(cols, false);
} }

@ -94,7 +94,7 @@ public class CheckmarkView extends View implements HabitDataView
fa_check = context.getString(R.string.fa_check); fa_check = context.getString(R.string.fa_check);
fa_times = context.getString(R.string.fa_times); fa_times = context.getString(R.string.fa_times);
primaryColor = ColorHelper.palette[10]; primaryColor = ColorHelper.getColor(getContext(), 10);
timesColor = Color.argb(128, 255, 255, 255); timesColor = Color.argb(128, 255, 255, 255);
darkGrey = Color.argb(64, 0, 0, 0); darkGrey = Color.argb(64, 0, 0, 0);
@ -184,8 +184,9 @@ public class CheckmarkView extends View implements HabitDataView
public void refreshData() public void refreshData()
{ {
this.check_status = habit.checkmarks.getTodayValue(); this.check_status = habit.checkmarks.getTodayValue();
this.primaryColor = Color.argb(230, Color.red(habit.color), Color.green(habit.color), int color = ColorHelper.getColor(getContext(), habit.color);
Color.blue(habit.color)); this.primaryColor = Color.argb(230, Color.red(color), Color.green(color),
Color.blue(color));
this.label = habit.name; this.label = habit.name;
updateLabel(); updateLabel();

@ -73,7 +73,7 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV
public HabitFrequencyView(Context context, AttributeSet attrs) public HabitFrequencyView(Context context, AttributeSet attrs)
{ {
super(context, attrs); super(context, attrs);
this.primaryColor = ColorHelper.palette[7]; this.primaryColor = ColorHelper.getColor(getContext(), 7);
this.frequency = new HashMap<>(); this.frequency = new HashMap<>();
init(); init();
} }
@ -101,7 +101,9 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV
private void createColors() private void createColors()
{ {
if(habit != null) if(habit != null)
this.primaryColor = habit.color; {
this.primaryColor = ColorHelper.getColor(getContext(), habit.color);
}
if (isBackgroundTransparent) if (isBackgroundTransparent)
{ {

@ -97,7 +97,7 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie
isEditable = false; isEditable = false;
checkmarks = new int[0]; checkmarks = new int[0];
primaryColor = ColorHelper.palette[7]; primaryColor = ColorHelper.getColor(getContext(), 7);
wdays = DateHelper.getShortDayNames(); wdays = DateHelper.getShortDayNames();
dfMonth = DateHelper.getDateFormat("MMM"); dfMonth = DateHelper.getDateFormat("MMM");
dfYear = DateHelper.getDateFormat("yyyy"); dfYear = DateHelper.getDateFormat("yyyy");
@ -164,7 +164,7 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie
private void createColors() private void createColors()
{ {
if(habit != null) if(habit != null)
this.primaryColor = habit.color; this.primaryColor = ColorHelper.getColor(getContext(), habit.color);
if(isBackgroundTransparent) if(isBackgroundTransparent)
primaryColor = ColorHelper.setMinValue(primaryColor, 0.75f); primaryColor = ColorHelper.setMinValue(primaryColor, 0.75f);

@ -86,7 +86,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView
public HabitScoreView(Context context, AttributeSet attrs) public HabitScoreView(Context context, AttributeSet attrs)
{ {
super(context, attrs); super(context, attrs);
this.primaryColor = ColorHelper.palette[7]; this.primaryColor = ColorHelper.getColor(getContext(), 7);
init(); init();
} }
@ -112,7 +112,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView
private void createColors() private void createColors()
{ {
if(habit != null) if(habit != null)
this.primaryColor = habit.color; this.primaryColor = ColorHelper.getColor(getContext(), habit.color);
if (isBackgroundTransparent) if (isBackgroundTransparent)
{ {

@ -72,7 +72,7 @@ public class HabitStreakView extends View implements HabitDataView
public HabitStreakView(Context context, AttributeSet attrs) public HabitStreakView(Context context, AttributeSet attrs)
{ {
super(context, attrs); super(context, attrs);
this.primaryColor = ColorHelper.palette[7]; this.primaryColor = ColorHelper.getColor(getContext(), 7);
init(); init();
} }
@ -123,7 +123,7 @@ public class HabitStreakView extends View implements HabitDataView
private void createColors() private void createColors()
{ {
if(habit != null) if(habit != null)
this.primaryColor = habit.color; this.primaryColor = ColorHelper.getColor(getContext(), habit.color);
if(isBackgroundTransparent) if(isBackgroundTransparent)
{ {

@ -71,7 +71,7 @@ public class NumberView extends View
this.textSize = UIHelper.getFloatAttribute(context, attrs, "textSize", this.textSize = UIHelper.getFloatAttribute(context, attrs, "textSize",
getResources().getDimension(R.dimen.regularTextSize)); getResources().getDimension(R.dimen.regularTextSize));
this.color = ColorHelper.palette[7]; this.color = ColorHelper.getColor(getContext(), 7);
init(); init();
} }

@ -23,6 +23,7 @@ import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.helpers.DateHelper;
import org.isoron.uhabits.helpers.UIHelper; import org.isoron.uhabits.helpers.UIHelper;
import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Habit;
@ -79,6 +80,6 @@ public class RepetitionCountView extends NumberView implements HabitDataView
public void setHabit(Habit habit) public void setHabit(Habit habit)
{ {
this.habit = habit; this.habit = habit;
setColor(habit.color); setColor(ColorHelper.getColor(getContext(), habit.color));
} }
} }

@ -37,6 +37,8 @@
<item name="fadedTextColor">@color/grey_600</item> <item name="fadedTextColor">@color/grey_600</item>
<item name="inactiveCheckmarkColor">@color/grey_300</item> <item name="inactiveCheckmarkColor">@color/grey_300</item>
<item name="secondaryTextColor">@color/grey_800</item> <item name="secondaryTextColor">@color/grey_800</item>
<item name="palette">@array/lightPalette</item>
</style> </style>
<style name="AppBaseThemeDark" parent="android:Theme.Material"> <style name="AppBaseThemeDark" parent="android:Theme.Material">
@ -46,16 +48,18 @@
<item name="android:windowAllowEnterTransitionOverlap">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:colorPrimary">@color/grey_900</item> <item name="android:colorPrimary">@color/grey_950</item>
<item name="android:colorPrimaryDark">@color/black</item> <item name="android:colorPrimaryDark">@color/black</item>
<item name="cardBackgroundColor">@color/grey_800</item> <item name="cardBackgroundColor">@color/grey_800</item>
<item name="windowBackgroundColor">@color/grey_850</item> <item name="windowBackgroundColor">@color/grey_850</item>
<item name="headerBackgroundColor">@color/grey_875</item> <item name="headerBackgroundColor">@color/grey_900</item>
<item name="android:textColor">@color/grey_50</item> <item name="android:textColor">@color/grey_50</item>
<item name="fadedTextColor">@color/grey_500</item> <item name="fadedTextColor">@color/grey_500</item>
<item name="inactiveCheckmarkColor">@color/grey_700</item> <item name="inactiveCheckmarkColor">@color/grey_700</item>
<item name="secondaryTextColor">@color/grey_100</item> <item name="secondaryTextColor">@color/grey_100</item>
<item name="palette">@array/darkPalette</item>
</style> </style>
<style name="MyDialogStyle" parent="android:Theme.Material.Light.Dialog"> <style name="MyDialogStyle" parent="android:Theme.Material.Light.Dialog">

@ -25,4 +25,6 @@
<attr name="headerBackgroundColor" format="reference"/> <attr name="headerBackgroundColor" format="reference"/>
<attr name="secondaryTextColor" format="reference"/> <attr name="secondaryTextColor" format="reference"/>
<attr name="inactiveCheckmarkColor" format="reference"/> <attr name="inactiveCheckmarkColor" format="reference"/>
<attr name="palette" format="reference"/>
</resources> </resources>

@ -16,6 +16,38 @@
--> -->
<resources> <resources>
<array name="lightPalette">
<item>@color/red_700</item>
<item>@color/deep_orange_700</item>
<item>@color/yellow_800</item>
<item>@color/lime_700</item>
<item>@color/green_700</item>
<item>@color/teal_600</item>
<item>@color/cyan_600</item>
<item>@color/light_blue_600</item>
<item>@color/deep_purple_600</item>
<item>@color/purple_600</item>
<item>@color/pink_600</item>
<item>@color/grey_850</item>
<item>@color/grey_500</item>
</array>
<array name="darkPalette">
<item>@color/red_200</item>
<item>@color/deep_orange_200</item>
<item>@color/yellow_200</item>
<item>@color/lime_200</item>
<item>@color/green_A200</item>
<item>@color/teal_200</item>
<item>@color/cyan_200</item>
<item>@color/light_blue_200</item>
<item>@color/deep_purple_200</item>
<item>@color/purple_200</item>
<item>@color/pink_200</item>
<item>@color/grey_200</item>
<item>@color/grey_700</item>
</array>
<!-- Time and Date picker --> <!-- Time and Date picker -->
<color name="circle_background">#f2f2f2</color> <color name="circle_background">#f2f2f2</color>
<color name="line_background">#cccccc</color> <color name="line_background">#cccccc</color>
@ -44,267 +76,267 @@
<color name="line_dark">#808080</color> <color name="line_dark">#808080</color>
<!-- Material design color palette --> <!-- Material design color palette -->
<!--<color name="red_50">#FFEBEE</color>--> <color name="red_50">#FFEBEE</color>
<!--<color name="red_100">#FFCDD2</color>--> <color name="red_100">#FFCDD2</color>
<!--<color name="red_200">#EF9A9A</color>--> <color name="red_200">#EF9A9A</color>
<!--<color name="red_300">#E57373</color>--> <color name="red_300">#E57373</color>
<!--<color name="red_400">#EF5350</color>--> <color name="red_400">#EF5350</color>
<!--<color name="red_500">#F44336</color>--> <color name="red_500">#F44336</color>
<!--<color name="red_600">#E53935</color>--> <color name="red_600">#E53935</color>
<!--<color name="red_700">#D32F2F</color>--> <color name="red_700">#D32F2F</color>
<!--<color name="red_800">#C62828</color>--> <color name="red_800">#C62828</color>
<!--<color name="red_900">#B71C1C</color>--> <color name="red_900">#B71C1C</color>
<!--<color name="red_A100">#FF8A80</color>--> <color name="red_A100">#FF8A80</color>
<!--<color name="red_A200">#FF5252</color>--> <color name="red_A200">#FF5252</color>
<!--<color name="red_A400">#FF1744</color>--> <color name="red_A400">#FF1744</color>
<!--<color name="red_A700">#D50000</color>--> <color name="red_A700">#D50000</color>
<!--<color name="deep_purple_50">#EDE7F6</color>--> <color name="deep_purple_50">#EDE7F6</color>
<!--<color name="deep_purple_100">#D1C4E9</color>--> <color name="deep_purple_100">#D1C4E9</color>
<!--<color name="deep_purple_200">#B39DDB</color>--> <color name="deep_purple_200">#B39DDB</color>
<!--<color name="deep_purple_300">#9575CD</color>--> <color name="deep_purple_300">#9575CD</color>
<!--<color name="deep_purple_400">#7E57C2</color>--> <color name="deep_purple_400">#7E57C2</color>
<!--<color name="deep_purple_500">#673AB7</color>--> <color name="deep_purple_500">#673AB7</color>
<!--<color name="deep_purple_600">#5E35B1</color>--> <color name="deep_purple_600">#5E35B1</color>
<!--<color name="deep_purple_700">#512DA8</color>--> <color name="deep_purple_700">#512DA8</color>
<!--<color name="deep_purple_800">#4527A0</color>--> <color name="deep_purple_800">#4527A0</color>
<!--<color name="deep_purple_900">#311B92</color>--> <color name="deep_purple_900">#311B92</color>
<!--<color name="deep_purple_A100">#B388FF</color>--> <color name="deep_purple_A100">#B388FF</color>
<!--<color name="deep_purple_A200">#7C4DFF</color>--> <color name="deep_purple_A200">#7C4DFF</color>
<!--<color name="deep_purple_A400">#651FFF</color>--> <color name="deep_purple_A400">#651FFF</color>
<!--<color name="deep_purple_A700">#6200EA</color>--> <color name="deep_purple_A700">#6200EA</color>
<!--<color name="light_blue_50">#E1F5FE</color>--> <color name="light_blue_50">#E1F5FE</color>
<!--<color name="light_blue_100">#B3E5FC</color>--> <color name="light_blue_100">#B3E5FC</color>
<!--<color name="light_blue_200">#81D4FA</color>--> <color name="light_blue_200">#81D4FA</color>
<!--<color name="light_blue_300">#4FC3F7</color>--> <color name="light_blue_300">#4FC3F7</color>
<!--<color name="light_blue_400">#29B6F6</color>--> <color name="light_blue_400">#29B6F6</color>
<!--<color name="light_blue_500">#03A9F4</color>--> <color name="light_blue_500">#03A9F4</color>
<!--<color name="light_blue_600">#039BE5</color>--> <color name="light_blue_600">#039BE5</color>
<!--<color name="light_blue_700">#0288D1</color>--> <color name="light_blue_700">#0288D1</color>
<!--<color name="light_blue_800">#0277BD</color>--> <color name="light_blue_800">#0277BD</color>
<!--<color name="light_blue_900">#01579B</color>--> <color name="light_blue_900">#01579B</color>
<!--<color name="light_blue_A100">#80D8FF</color>--> <color name="light_blue_A100">#80D8FF</color>
<!--<color name="light_blue_A200">#40C4FF</color>--> <color name="light_blue_A200">#40C4FF</color>
<!--<color name="light_blue_A400">#00B0FF</color>--> <color name="light_blue_A400">#00B0FF</color>
<!--<color name="light_blue_A700">#0091EA</color>--> <color name="light_blue_A700">#0091EA</color>
<!--<color name="green_50">#E8F5E9</color>--> <color name="green_50">#E8F5E9</color>
<!--<color name="green_100">#C8E6C9</color>--> <color name="green_100">#C8E6C9</color>
<!--<color name="green_200">#A5D6A7</color>--> <color name="green_200">#A5D6A7</color>
<!--<color name="green_300">#81C784</color>--> <color name="green_300">#81C784</color>
<!--<color name="green_400">#66BB6A</color>--> <color name="green_400">#66BB6A</color>
<!--<color name="green_500">#4CAF50</color>--> <color name="green_500">#4CAF50</color>
<!--<color name="green_600">#43A047</color>--> <color name="green_600">#43A047</color>
<!--<color name="green_700">#388E3C</color>--> <color name="green_700">#388E3C</color>
<!--<color name="green_800">#2E7D32</color>--> <color name="green_800">#2E7D32</color>
<!--<color name="green_900">#1B5E20</color>--> <color name="green_900">#1B5E20</color>
<!--<color name="green_A100">#B9F6CA</color>--> <color name="green_A100">#B9F6CA</color>
<!--<color name="green_A200">#69F0AE</color>--> <color name="green_A200">#69F0AE</color>
<!--<color name="green_A400">#00E676</color>--> <color name="green_A400">#00E676</color>
<!--<color name="green_A700">#00C853</color>--> <color name="green_A700">#00C853</color>
<!--<color name="yellow_50">#FFFDE7</color>--> <color name="yellow_50">#FFFDE7</color>
<!--<color name="yellow_100">#FFF9C4</color>--> <color name="yellow_100">#FFF9C4</color>
<!--<color name="yellow_200">#FFF59D</color>--> <color name="yellow_200">#FFF59D</color>
<!--<color name="yellow_300">#FFF176</color>--> <color name="yellow_300">#FFF176</color>
<!--<color name="yellow_400">#FFEE58</color>--> <color name="yellow_400">#FFEE58</color>
<!--<color name="yellow_500">#FFEB3B</color>--> <color name="yellow_500">#FFEB3B</color>
<!--<color name="yellow_600">#FDD835</color>--> <color name="yellow_600">#FDD835</color>
<!--<color name="yellow_700">#FBC02D</color>--> <color name="yellow_700">#FBC02D</color>
<!--<color name="yellow_800">#F9A825</color>--> <color name="yellow_800">#F9A825</color>
<!--<color name="yellow_900">#F57F17</color>--> <color name="yellow_900">#F57F17</color>
<!--<color name="yellow_A100">#FFFF8D</color>--> <color name="yellow_A100">#FFFF8D</color>
<!--<color name="yellow_A200">#FFFF00</color>--> <color name="yellow_A200">#FFFF00</color>
<!--<color name="yellow_A400">#FFEA00</color>--> <color name="yellow_A400">#FFEA00</color>
<!--<color name="yellow_A700">#FFD600</color>--> <color name="yellow_A700">#FFD600</color>
<!--<color name="deep_orange_50">#FBE9E7</color>--> <color name="deep_orange_50">#FBE9E7</color>
<!--<color name="deep_orange_100">#FFCCBC</color>--> <color name="deep_orange_100">#FFCCBC</color>
<!--<color name="deep_orange_200">#FFAB91</color>--> <color name="deep_orange_200">#FFAB91</color>
<!--<color name="deep_orange_300">#FF8A65</color>--> <color name="deep_orange_300">#FF8A65</color>
<!--<color name="deep_orange_400">#FF7043</color>--> <color name="deep_orange_400">#FF7043</color>
<!--<color name="deep_orange_500">#FF5722</color>--> <color name="deep_orange_500">#FF5722</color>
<!--<color name="deep_orange_600">#F4511E</color>--> <color name="deep_orange_600">#F4511E</color>
<!--<color name="deep_orange_700">#E64A19</color>--> <color name="deep_orange_700">#E64A19</color>
<!--<color name="deep_orange_800">#D84315</color>--> <color name="deep_orange_800">#D84315</color>
<!--<color name="deep_orange_900">#BF360C</color>--> <color name="deep_orange_900">#BF360C</color>
<!--<color name="deep_orange_A100">#FF9E80</color>--> <color name="deep_orange_A100">#FF9E80</color>
<!--<color name="deep_orange_A200">#FF6E40</color>--> <color name="deep_orange_A200">#FF6E40</color>
<!--<color name="deep_orange_A400">#FF3D00</color>--> <color name="deep_orange_A400">#FF3D00</color>
<!--<color name="deep_orange_A700">#DD2C00</color>--> <color name="deep_orange_A700">#DD2C00</color>
<!--<color name="blue_grey_50">#ECEFF1</color>--> <color name="blue_grey_50">#ECEFF1</color>
<!--<color name="blue_grey_100">#CFD8DC</color>--> <color name="blue_grey_100">#CFD8DC</color>
<!--<color name="blue_grey_200">#B0BEC5</color>--> <color name="blue_grey_200">#B0BEC5</color>
<!--<color name="blue_grey_300">#90A4AE</color>--> <color name="blue_grey_300">#90A4AE</color>
<!--<color name="blue_grey_400">#78909C</color>--> <color name="blue_grey_400">#78909C</color>
<!--<color name="blue_grey_500">#607D8B</color>--> <color name="blue_grey_500">#607D8B</color>
<!--<color name="blue_grey_600">#546E7A</color>--> <color name="blue_grey_600">#546E7A</color>
<!--<color name="blue_grey_700">#455A64</color>--> <color name="blue_grey_700">#455A64</color>
<color name="blue_grey_800">#37474F</color> <color name="blue_grey_800">#37474F</color>
<color name="blue_grey_900">#263238</color> <color name="blue_grey_900">#263238</color>
<!--<color name="pink_50">#FCE4EC</color>--> <color name="pink_50">#FCE4EC</color>
<!--<color name="pink_100">#F8BBD0</color>--> <color name="pink_100">#F8BBD0</color>
<!--<color name="pink_200">#F48FB1</color>--> <color name="pink_200">#F48FB1</color>
<!--<color name="pink_300">#F06292</color>--> <color name="pink_300">#F06292</color>
<!--<color name="pink_400">#EC407A</color>--> <color name="pink_400">#EC407A</color>
<!--<color name="pink_500">#E91E63</color>--> <color name="pink_500">#E91E63</color>
<!--<color name="pink_600">#D81B60</color>--> <color name="pink_600">#D81B60</color>
<!--<color name="pink_700">#C2185B</color>--> <color name="pink_700">#C2185B</color>
<!--<color name="pink_800">#AD1457</color>--> <color name="pink_800">#AD1457</color>
<!--<color name="pink_900">#880E4F</color>--> <color name="pink_900">#880E4F</color>
<!--<color name="pink_A100">#FF80AB</color>--> <color name="pink_A100">#FF80AB</color>
<!--<color name="pink_A200">#FF4081</color>--> <color name="pink_A200">#FF4081</color>
<!--<color name="pink_A400">#F50057</color>--> <color name="pink_A400">#F50057</color>
<!--<color name="pink_A700">#C51162</color>--> <color name="pink_A700">#C51162</color>
<!--<color name="indigo_50">#E8EAF6</color>--> <color name="indigo_50">#E8EAF6</color>
<!--<color name="indigo_100">#C5CAE9</color>--> <color name="indigo_100">#C5CAE9</color>
<!--<color name="indigo_200">#9FA8DA</color>--> <color name="indigo_200">#9FA8DA</color>
<!--<color name="indigo_300">#7986CB</color>--> <color name="indigo_300">#7986CB</color>
<!--<color name="indigo_400">#5C6BC0</color>--> <color name="indigo_400">#5C6BC0</color>
<color name="indigo_500">#3F51B5</color> <color name="indigo_500">#3F51B5</color>
<!--<color name="indigo_600">#3949AB</color>--> <color name="indigo_600">#3949AB</color>
<!--<color name="indigo_700">#303F9F</color>--> <color name="indigo_700">#303F9F</color>
<!--<color name="indigo_800">#283593</color>--> <color name="indigo_800">#283593</color>
<!--<color name="indigo_900">#1A237E</color>--> <color name="indigo_900">#1A237E</color>
<!--<color name="indigo_A100">#8C9EFF</color>--> <color name="indigo_A100">#8C9EFF</color>
<!--<color name="indigo_A200">#536DFE</color>--> <color name="indigo_A200">#536DFE</color>
<!--<color name="indigo_A400">#3D5AFE</color>--> <color name="indigo_A400">#3D5AFE</color>
<!--<color name="indigo_A700">#304FFE</color>--> <color name="indigo_A700">#304FFE</color>
<!--<color name="cyan_50">#E0F7FA</color>--> <color name="cyan_50">#E0F7FA</color>
<!--<color name="cyan_100">#B2EBF2</color>--> <color name="cyan_100">#B2EBF2</color>
<!--<color name="cyan_200">#80DEEA</color>--> <color name="cyan_200">#80DEEA</color>
<!--<color name="cyan_300">#4DD0E1</color>--> <color name="cyan_300">#4DD0E1</color>
<!--<color name="cyan_400">#26C6DA</color>--> <color name="cyan_400">#26C6DA</color>
<!--<color name="cyan_500">#00BCD4</color>--> <color name="cyan_500">#00BCD4</color>
<!--<color name="cyan_600">#00ACC1</color>--> <color name="cyan_600">#00ACC1</color>
<!--<color name="cyan_700">#0097A7</color>--> <color name="cyan_700">#0097A7</color>
<!--<color name="cyan_800">#00838F</color>--> <color name="cyan_800">#00838F</color>
<!--<color name="cyan_900">#006064</color>--> <color name="cyan_900">#006064</color>
<!--<color name="cyan_A100">#84FFFF</color>--> <color name="cyan_A100">#84FFFF</color>
<!--<color name="cyan_A200">#18FFFF</color>--> <color name="cyan_A200">#18FFFF</color>
<!--<color name="cyan_A400">#00E5FF</color>--> <color name="cyan_A400">#00E5FF</color>
<!--<color name="cyan_A700">#00B8D4</color>--> <color name="cyan_A700">#00B8D4</color>
<!--<color name="light_green_50">#F1F8E9</color>--> <color name="light_green_50">#F1F8E9</color>
<!--<color name="light_green_100">#DCEDC8</color>--> <color name="light_green_100">#DCEDC8</color>
<!--<color name="light_green_200">#C5E1A5</color>--> <color name="light_green_200">#C5E1A5</color>
<!--<color name="light_green_300">#AED581</color>--> <color name="light_green_300">#AED581</color>
<!--<color name="light_green_400">#9CCC65</color>--> <color name="light_green_400">#9CCC65</color>
<!--<color name="light_green_500">#8BC34A</color>--> <color name="light_green_500">#8BC34A</color>
<!--<color name="light_green_600">#7CB342</color>--> <color name="light_green_600">#7CB342</color>
<!--<color name="light_green_700">#689F38</color>--> <color name="light_green_700">#689F38</color>
<!--<color name="light_green_800">#558B2F</color>--> <color name="light_green_800">#558B2F</color>
<!--<color name="light_green_900">#33691E</color>--> <color name="light_green_900">#33691E</color>
<!--<color name="light_green_A100">#CCFF90</color>--> <color name="light_green_A100">#CCFF90</color>
<!--<color name="light_green_A200">#B2FF59</color>--> <color name="light_green_A200">#B2FF59</color>
<!--<color name="light_green_A400">#76FF03</color>--> <color name="light_green_A400">#76FF03</color>
<!--<color name="light_green_A700">#64DD17</color>--> <color name="light_green_A700">#64DD17</color>
<!--<color name="amber_50">#FFF8E1</color>--> <color name="amber_50">#FFF8E1</color>
<!--<color name="amber_100">#FFECB3</color>--> <color name="amber_100">#FFECB3</color>
<!--<color name="amber_200">#FFE082</color>--> <color name="amber_200">#FFE082</color>
<!--<color name="amber_300">#FFD54F</color>--> <color name="amber_300">#FFD54F</color>
<!--<color name="amber_400">#FFCA28</color>--> <color name="amber_400">#FFCA28</color>
<!--<color name="amber_500">#FFC107</color>--> <color name="amber_500">#FFC107</color>
<!--<color name="amber_600">#FFB300</color>--> <color name="amber_600">#FFB300</color>
<!--<color name="amber_700">#FFA000</color>--> <color name="amber_700">#FFA000</color>
<!--<color name="amber_800">#FF8F00</color>--> <color name="amber_800">#FF8F00</color>
<!--<color name="amber_900">#FF6F00</color>--> <color name="amber_900">#FF6F00</color>
<!--<color name="amber_A100">#FFE57F</color>--> <color name="amber_A100">#FFE57F</color>
<!--<color name="amber_A200">#FFD740</color>--> <color name="amber_A200">#FFD740</color>
<!--<color name="amber_A400">#FFC400</color>--> <color name="amber_A400">#FFC400</color>
<!--<color name="amber_A700">#FFAB00</color>--> <color name="amber_A700">#FFAB00</color>
<!--<color name="brown_50">#EFEBE9</color>--> <color name="brown_50">#EFEBE9</color>
<!--<color name="brown_100">#D7CCC8</color>--> <color name="brown_100">#D7CCC8</color>
<!--<color name="brown_200">#BCAAA4</color>--> <color name="brown_200">#BCAAA4</color>
<!--<color name="brown_300">#A1887F</color>--> <color name="brown_300">#A1887F</color>
<!--<color name="brown_400">#8D6E63</color>--> <color name="brown_400">#8D6E63</color>
<!--<color name="brown_500">#795548</color>--> <color name="brown_500">#795548</color>
<!--<color name="brown_600">#6D4C41</color>--> <color name="brown_600">#6D4C41</color>
<!--<color name="brown_700">#5D4037</color>--> <color name="brown_700">#5D4037</color>
<!--<color name="brown_800">#4E342E</color>--> <color name="brown_800">#4E342E</color>
<!--<color name="brown_900">#3E2723</color>--> <color name="brown_900">#3E2723</color>
<!--<color name="purple_50">#F3E5F5</color>--> <color name="purple_50">#F3E5F5</color>
<!--<color name="purple_100">#E1BEE7</color>--> <color name="purple_100">#E1BEE7</color>
<!--<color name="purple_200">#CE93D8</color>--> <color name="purple_200">#CE93D8</color>
<!--<color name="purple_300">#BA68C8</color>--> <color name="purple_300">#BA68C8</color>
<!--<color name="purple_400">#AB47BC</color>--> <color name="purple_400">#AB47BC</color>
<!--<color name="purple_500">#9C27B0</color>--> <color name="purple_500">#9C27B0</color>
<!--<color name="purple_600">#8E24AA</color>--> <color name="purple_600">#8E24AA</color>
<!--<color name="purple_700">#7B1FA2</color>--> <color name="purple_700">#7B1FA2</color>
<!--<color name="purple_800">#6A1B9A</color>--> <color name="purple_800">#6A1B9A</color>
<!--<color name="purple_900">#4A148C</color>--> <color name="purple_900">#4A148C</color>
<!--<color name="purple_A100">#EA80FC</color>--> <color name="purple_A100">#EA80FC</color>
<!--<color name="purple_A200">#E040FB</color>--> <color name="purple_A200">#E040FB</color>
<!--<color name="purple_A400">#D500F9</color>--> <color name="purple_A400">#D500F9</color>
<!--<color name="purple_A700">#AA00FF</color>--> <color name="purple_A700">#AA00FF</color>
<!--<color name="blue_50">#E3F2FD</color>--> <color name="blue_50">#E3F2FD</color>
<!--<color name="blue_100">#BBDEFB</color>--> <color name="blue_100">#BBDEFB</color>
<!--<color name="blue_200">#90CAF9</color>--> <color name="blue_200">#90CAF9</color>
<!--<color name="blue_300">#64B5F6</color>--> <color name="blue_300">#64B5F6</color>
<!--<color name="blue_400">#42A5F5</color>--> <color name="blue_400">#42A5F5</color>
<!--<color name="blue_500">#2196F3</color>--> <color name="blue_500">#2196F3</color>
<!--<color name="blue_600">#1E88E5</color>--> <color name="blue_600">#1E88E5</color>
<color name="blue_700">#1976D2</color> <color name="blue_700">#1976D2</color>
<!--<color name="blue_800">#1565C0</color>--> <color name="blue_800">#1565C0</color>
<!--<color name="blue_900">#0D47A1</color>--> <color name="blue_900">#0D47A1</color>
<!--<color name="blue_A100">#82B1FF</color>--> <color name="blue_A100">#82B1FF</color>
<!--<color name="blue_A200">#448AFF</color>--> <color name="blue_A200">#448AFF</color>
<!--<color name="blue_A400">#2979FF</color>--> <color name="blue_A400">#2979FF</color>
<!--<color name="blue_A700">#2962FF</color>--> <color name="blue_A700">#2962FF</color>
<!--<color name="teal_50">#E0F2F1</color>--> <color name="teal_50">#E0F2F1</color>
<!--<color name="teal_100">#B2DFDB</color>--> <color name="teal_100">#B2DFDB</color>
<!--<color name="teal_200">#80CBC4</color>--> <color name="teal_200">#80CBC4</color>
<!--<color name="teal_300">#4DB6AC</color>--> <color name="teal_300">#4DB6AC</color>
<!--<color name="teal_400">#26A69A</color>--> <color name="teal_400">#26A69A</color>
<!--<color name="teal_500">#009688</color>--> <color name="teal_500">#009688</color>
<!--<color name="teal_600">#00897B</color>--> <color name="teal_600">#00897B</color>
<!--<color name="teal_700">#00796B</color>--> <color name="teal_700">#00796B</color>
<!--<color name="teal_800">#00695C</color>--> <color name="teal_800">#00695C</color>
<!--<color name="teal_900">#004D40</color>--> <color name="teal_900">#004D40</color>
<!--<color name="teal_A100">#A7FFEB</color>--> <color name="teal_A100">#A7FFEB</color>
<!--<color name="teal_A200">#64FFDA</color>--> <color name="teal_A200">#64FFDA</color>
<!--<color name="teal_A400">#1DE9B6</color>--> <color name="teal_A400">#1DE9B6</color>
<!--<color name="teal_A700">#00BFA5</color>--> <color name="teal_A700">#00BFA5</color>
<!--<color name="lime_50">#F9FBE7</color>--> <color name="lime_50">#F9FBE7</color>
<!--<color name="lime_100">#F0F4C3</color>--> <color name="lime_100">#F0F4C3</color>
<!--<color name="lime_200">#E6EE9C</color>--> <color name="lime_200">#E6EE9C</color>
<!--<color name="lime_300">#DCE775</color>--> <color name="lime_300">#DCE775</color>
<!--<color name="lime_400">#D4E157</color>--> <color name="lime_400">#D4E157</color>
<!--<color name="lime_500">#CDDC39</color>--> <color name="lime_500">#CDDC39</color>
<!--<color name="lime_600">#C0CA33</color>--> <color name="lime_600">#C0CA33</color>
<!--<color name="lime_700">#AFB42B</color>--> <color name="lime_700">#AFB42B</color>
<!--<color name="lime_800">#9E9D24</color>--> <color name="lime_800">#9E9D24</color>
<!--<color name="lime_900">#827717</color>--> <color name="lime_900">#827717</color>
<!--<color name="lime_A100">#F4FF81</color>--> <color name="lime_A100">#F4FF81</color>
<!--<color name="lime_A200">#EEFF41</color>--> <color name="lime_A200">#EEFF41</color>
<!--<color name="lime_A400">#C6FF00</color>--> <color name="lime_A400">#C6FF00</color>
<!--<color name="lime_A700">#AEEA00</color>--> <color name="lime_A700">#AEEA00</color>
<!--<color name="orange_50">#FFF3E0</color>--> <color name="orange_50">#FFF3E0</color>
<!--<color name="orange_100">#FFE0B2</color>--> <color name="orange_100">#FFE0B2</color>
<!--<color name="orange_200">#FFCC80</color>--> <color name="orange_200">#FFCC80</color>
<!--<color name="orange_300">#FFB74D</color>--> <color name="orange_300">#FFB74D</color>
<!--<color name="orange_400">#FFA726</color>--> <color name="orange_400">#FFA726</color>
<!--<color name="orange_500">#FF9800</color>--> <color name="orange_500">#FF9800</color>
<!--<color name="orange_600">#FB8C00</color>--> <color name="orange_600">#FB8C00</color>
<!--<color name="orange_700">#F57C00</color>--> <color name="orange_700">#F57C00</color>
<!--<color name="orange_800">#EF6C00</color>--> <color name="orange_800">#EF6C00</color>
<!--<color name="orange_900">#E65100</color>--> <color name="orange_900">#E65100</color>
<!--<color name="orange_A100">#FFD180</color>--> <color name="orange_A100">#FFD180</color>
<!--<color name="orange_A200">#FFAB40</color>--> <color name="orange_A200">#FFAB40</color>
<!--<color name="orange_A400">#FF9100</color>--> <color name="orange_A400">#FF9100</color>
<!--<color name="orange_A700">#FF6D00</color>--> <color name="orange_A700">#FF6D00</color>
<color name="grey_50">#FAFAFA</color> <color name="grey_50">#FAFAFA</color>
<color name="grey_100">#F5F5F5</color> <color name="grey_100">#F5F5F5</color>
@ -318,6 +350,7 @@
<color name="grey_850">#303030</color> <color name="grey_850">#303030</color>
<color name="grey_875">#282828</color> <color name="grey_875">#282828</color>
<color name="grey_900">#212121</color> <color name="grey_900">#212121</color>
<color name="grey_950">#101010</color>
<color name="white">#ffffff</color> <color name="white">#ffffff</color>
<color name="black">#000000</color> <color name="black">#000000</color>

Loading…
Cancel
Save