From 1643ca397c328d846e79f8ebd830aa4bc4427c19 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 22 Jun 2016 09:51:16 -0500 Subject: [PATCH] Configurable accent color --- .../activities/DateAndTimePickerActivity.java | 3 +- .../tasks/activities/DatePickerActivity.java | 3 +- .../tasks/activities/TimePickerActivity.java | 3 +- .../java/org/tasks/analytics/Tracking.java | 1 + .../java/org/tasks/dialogs/DialogBuilder.java | 5 +- .../org/tasks/dialogs/ThemePickerDialog.java | 40 ++++++++++++-- .../preferences/BaseBasicPreferences.java | 29 ++++++++-- .../java/org/tasks/preferences/Theme.java | 10 ++-- .../tasks/preferences/ThemeApplicator.java | 15 +++--- .../org/tasks/preferences/ThemeManager.java | 54 ++++++++++++++++++- .../widget/BaseWidgetConfigActivity.java | 2 +- .../org/tasks/widget/WidgetConfigDialog.java | 4 +- src/main/res/layout/fragment_task_list.xml | 2 +- src/main/res/values/arrays.xml | 20 +++++++ src/main/res/values/attrs.xml | 2 - src/main/res/values/colors.xml | 1 + src/main/res/values/keys.xml | 1 + src/main/res/values/theme_amber.xml | 4 ++ src/main/res/values/theme_base_light.xml | 2 - src/main/res/values/theme_black.xml | 2 - src/main/res/values/theme_blue.xml | 4 ++ src/main/res/values/theme_blue_grey.xml | 4 ++ src/main/res/values/theme_cyan.xml | 4 ++ src/main/res/values/theme_deep_orange.xml | 4 ++ src/main/res/values/theme_deep_purple.xml | 4 ++ src/main/res/values/theme_green.xml | 4 ++ src/main/res/values/theme_indigo.xml | 4 ++ src/main/res/values/theme_light_blue.xml | 4 ++ src/main/res/values/theme_light_green.xml | 4 ++ src/main/res/values/theme_lime.xml | 4 ++ src/main/res/values/theme_orange.xml | 4 ++ src/main/res/values/theme_pink.xml | 4 ++ src/main/res/values/theme_purple.xml | 4 ++ src/main/res/values/theme_red.xml | 4 ++ src/main/res/values/theme_teal.xml | 4 ++ src/main/res/values/theme_yellow.xml | 4 ++ src/main/res/xml/preferences.xml | 4 ++ 37 files changed, 233 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/tasks/activities/DateAndTimePickerActivity.java b/src/main/java/org/tasks/activities/DateAndTimePickerActivity.java index 4b17a0584..fa6e8afb2 100644 --- a/src/main/java/org/tasks/activities/DateAndTimePickerActivity.java +++ b/src/main/java/org/tasks/activities/DateAndTimePickerActivity.java @@ -47,7 +47,8 @@ public class DateAndTimePickerActivity extends InjectingAppCompatActivity implem if (datePickerDialog == null) { datePickerDialog = new MyDatePickerDialog(); datePickerDialog.initialize(null, initial.getYear(), initial.getMonthOfYear() - 1, initial.getDayOfMonth()); - datePickerDialog.setAccentColor(themeManager.getAppTheme().getDateTimePickerAccent()); + datePickerDialog.setThemeDark(themeManager.getAppTheme().isDark()); + datePickerDialog.setAccentColor(themeManager.getAccentColor().getAccentColor()); datePickerDialog.show(fragmentManager, FRAG_TAG_DATE_PICKER); } datePickerDialog.setOnCancelListener(this); diff --git a/src/main/java/org/tasks/activities/DatePickerActivity.java b/src/main/java/org/tasks/activities/DatePickerActivity.java index e002c5e24..c8a1dd6dc 100644 --- a/src/main/java/org/tasks/activities/DatePickerActivity.java +++ b/src/main/java/org/tasks/activities/DatePickerActivity.java @@ -38,7 +38,8 @@ public class DatePickerActivity extends InjectingAppCompatActivity if (dialog == null) { dialog = new MyDatePickerDialog(); dialog.initialize(null, initial.getYear(), initial.getMonthOfYear() - 1, initial.getDayOfMonth()); - dialog.setAccentColor(themeManager.getAppTheme().getDateTimePickerAccent()); + dialog.setThemeDark(themeManager.getAppTheme().isDark()); + dialog.setAccentColor(themeManager.getAccentColor().getAccentColor()); dialog.show(fragmentManager, FRAG_TAG_DATE_PICKER); } dialog.setOnDismissListener(this); diff --git a/src/main/java/org/tasks/activities/TimePickerActivity.java b/src/main/java/org/tasks/activities/TimePickerActivity.java index 21a816f24..cf9824b53 100644 --- a/src/main/java/org/tasks/activities/TimePickerActivity.java +++ b/src/main/java/org/tasks/activities/TimePickerActivity.java @@ -42,7 +42,8 @@ public class TimePickerActivity extends InjectingAppCompatActivity implements Ti if (dialog == null) { dialog = new MyTimePickerDialog(); dialog.initialize(null, initial.getHourOfDay(), initial.getMinuteOfHour(), 0, DateFormat.is24HourFormat(this)); - dialog.setAccentColor(themeManager.getAppTheme().getDateTimePickerAccent()); + dialog.setThemeDark(themeManager.getAppTheme().isDark()); + dialog.setAccentColor(themeManager.getAccentColor().getAccentColor()); dialog.show(fragmentManager, FRAG_TAG_TIME_PICKER); } dialog.setOnDismissListener(this); diff --git a/src/main/java/org/tasks/analytics/Tracking.java b/src/main/java/org/tasks/analytics/Tracking.java index 74fe1264b..0caa74ea1 100644 --- a/src/main/java/org/tasks/analytics/Tracking.java +++ b/src/main/java/org/tasks/analytics/Tracking.java @@ -8,6 +8,7 @@ public class Tracking { SET_DEFAULT_LIST(R.string.tracking_category_preferences, R.string.p_default_list), GTASK_DEFAULT_LIST(R.string.tracking_category_preferences, R.string.p_gtasks_default_list), SET_THEME(R.string.tracking_category_preferences, R.string.p_theme), + SET_ACCENT(R.string.tracking_category_preferences, R.string.p_theme_accent), WIDGET_ADD(R.string.tracking_category_widget, R.string.tracking_action_add), TIMER_START(R.string.tracking_category_timer, R.string.tracking_action_start), GTASK_ENABLED(R.string.tracking_category_google_tasks, R.string.tracking_action_on), diff --git a/src/main/java/org/tasks/dialogs/DialogBuilder.java b/src/main/java/org/tasks/dialogs/DialogBuilder.java index c6c9bf326..0caa54c52 100644 --- a/src/main/java/org/tasks/dialogs/DialogBuilder.java +++ b/src/main/java/org/tasks/dialogs/DialogBuilder.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.app.ProgressDialog; import android.graphics.drawable.ColorDrawable; import android.support.v7.app.AlertDialog; +import android.support.v7.view.ContextThemeWrapper; import com.todoroo.andlib.utility.AndroidUtilities; @@ -22,7 +23,9 @@ public class DialogBuilder { } public AlertDialog.Builder newDialog() { - return new AlertDialog.Builder(activity, themeManager.getDialogThemeResId()); + ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(activity, themeManager.getDialogThemeResId()); + contextThemeWrapper.getTheme().applyStyle(themeManager.getAccentColor().getResId(), true); + return new AlertDialog.Builder(contextThemeWrapper); } public AlertDialog.Builder newMessageDialog(int message, Object... formatArgs) { diff --git a/src/main/java/org/tasks/dialogs/ThemePickerDialog.java b/src/main/java/org/tasks/dialogs/ThemePickerDialog.java index 5920357a2..c2120964d 100644 --- a/src/main/java/org/tasks/dialogs/ThemePickerDialog.java +++ b/src/main/java/org/tasks/dialogs/ThemePickerDialog.java @@ -28,8 +28,25 @@ import javax.inject.Inject; public class ThemePickerDialog extends InjectingDialogFragment { + private static final String EXTRA_COLOR_PALETTE = "extra_color_palette"; + + public enum ColorPalette { + THEMES, + ACCENTS + } + + public static ThemePickerDialog newThemePickerDialog() { + return newThemePickerDialog(ColorPalette.THEMES); + } + + public static ThemePickerDialog newThemePickerDialog(ColorPalette palette) { + ThemePickerDialog dialog = new ThemePickerDialog(); + dialog.palette = palette; + return dialog; + } + public interface ThemePickerCallback { - void themePicked(Theme theme); + void themePicked(ColorPalette palette, Theme theme); void initiateThemePurchase(); } @@ -40,11 +57,16 @@ public class ThemePickerDialog extends InjectingDialogFragment { @Inject ThemeManager themeManager; private ThemePickerCallback callback; + private ColorPalette palette; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { - final String[] themes = context.getResources().getStringArray(R.array.themes); + if (savedInstanceState != null) { + palette = (ColorPalette) savedInstanceState.getSerializable(EXTRA_COLOR_PALETTE); + } + + final String[] themes = context.getResources().getStringArray(palette == ColorPalette.THEMES ? R.array.themes : R.array.accents); final boolean purchasedThemes = preferences.hasPurchase(R.string.p_purchased_themes); @@ -59,13 +81,14 @@ public class ThemePickerDialog extends InjectingDialogFragment { } Resources resources = context.getResources(); - Theme theme = themeManager.getTheme(position); + Theme theme = palette == ColorPalette.THEMES ? themeManager.getTheme(position) : themeManager.getAccent(position); ImageView primary = (ImageView) row.findViewById(R.id.color_primary); Drawable original = resources.getDrawable(purchasedThemes || position < 2 ? R.drawable.ic_lens_black_24dp : R.drawable.ic_vpn_key_black_24dp); Drawable wrapped = DrawableCompat.wrap(original.mutate()); - DrawableCompat.setTint(wrapped, theme.getPrimaryColor()); + int colorResId = palette == ColorPalette.THEMES ? theme.getPrimaryColor() : theme.getAccentColor(); + DrawableCompat.setTint(wrapped, colorResId); primary.setImageDrawable(wrapped); TextView text = (TextView) row.findViewById(android.R.id.text1); @@ -81,7 +104,7 @@ public class ThemePickerDialog extends InjectingDialogFragment { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); if (purchasedThemes || which < 2) { - callback.themePicked(themeManager.getTheme(which)); + callback.themePicked(palette, themeManager.getTheme(which)); } else { callback.initiateThemePurchase(); } @@ -90,6 +113,13 @@ public class ThemePickerDialog extends InjectingDialogFragment { .show(); } + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + + outState.putSerializable(EXTRA_COLOR_PALETTE, palette); + } + @Override public void onAttach(Activity activity) { super.onAttach(activity); diff --git a/src/main/java/org/tasks/preferences/BaseBasicPreferences.java b/src/main/java/org/tasks/preferences/BaseBasicPreferences.java index bc9201e45..5cc72d22b 100644 --- a/src/main/java/org/tasks/preferences/BaseBasicPreferences.java +++ b/src/main/java/org/tasks/preferences/BaseBasicPreferences.java @@ -17,10 +17,13 @@ import org.tasks.injection.InjectingPreferenceActivity; import javax.inject.Inject; +import static org.tasks.dialogs.ThemePickerDialog.newThemePickerDialog; + public abstract class BaseBasicPreferences extends InjectingPreferenceActivity implements ThemePickerDialog.ThemePickerCallback { private static final String EXTRA_RESULT = "extra_result"; private static final String FRAG_TAG_THEME_PICKER = "frag_tag_theme_picker"; + private static final String FRAG_TAG_ACCENT_PICKER = "frag_tag_accent_picker"; private static final int RC_PREFS = 10001; @Inject Tracker tracker; @@ -45,12 +48,25 @@ public abstract class BaseBasicPreferences extends InjectingPreferenceActivity i public boolean onPreferenceClick(Preference preference) { FragmentManager fragmentManager = getFragmentManager(); if (fragmentManager.findFragmentByTag(FRAG_TAG_THEME_PICKER) == null) { - new ThemePickerDialog() + newThemePickerDialog(ThemePickerDialog.ColorPalette.THEMES) .show(fragmentManager, FRAG_TAG_THEME_PICKER); } return false; } }); + Preference accentPreference = findPreference(getString(R.string.p_theme_accent)); + accentPreference.setSummary(themeManager.getAccentColor().getName()); + accentPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + FragmentManager fragmentManager = getFragmentManager(); + if (fragmentManager.findFragmentByTag(FRAG_TAG_ACCENT_PICKER) == null) { + newThemePickerDialog(ThemePickerDialog.ColorPalette.ACCENTS) + .show(fragmentManager, FRAG_TAG_ACCENT_PICKER); + } + return false; + } + }); findPreference(getString(R.string.p_collect_statistics)).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override @@ -96,10 +112,15 @@ public abstract class BaseBasicPreferences extends InjectingPreferenceActivity i } @Override - public void themePicked(Theme theme) { + public void themePicked(ThemePickerDialog.ColorPalette palette, Theme theme) { int index = theme.getThemeIndex(); - preferences.setInt(R.string.p_theme, index); - tracker.reportEvent(Tracking.Events.SET_THEME, Integer.toString(index)); + if (palette == ThemePickerDialog.ColorPalette.THEMES) { + preferences.setInt(R.string.p_theme, index); + tracker.reportEvent(Tracking.Events.SET_THEME, Integer.toString(index)); + } else if (palette == ThemePickerDialog.ColorPalette.ACCENTS) { + preferences.setInt(R.string.p_theme_accent, index); + tracker.reportEvent(Tracking.Events.SET_ACCENT, Integer.toString(index)); + } result.putBoolean(AppearancePreferences.EXTRA_RESTART, true); recreate(); } diff --git a/src/main/java/org/tasks/preferences/Theme.java b/src/main/java/org/tasks/preferences/Theme.java index a63b73fee..b1151362c 100644 --- a/src/main/java/org/tasks/preferences/Theme.java +++ b/src/main/java/org/tasks/preferences/Theme.java @@ -40,6 +40,10 @@ public class Theme { return resolveAttribute(R.attr.colorPrimary); } + public int getAccentColor() { + return resolveAttribute(R.attr.colorAccent); + } + public int getContentBackground() { return resolveAttribute(R.attr.asContentBackground); } @@ -52,11 +56,7 @@ public class Theme { return resolveAttribute(R.attr.asTextColor); } - public int getDateTimePickerAccent() { - return resolveAttribute(R.attr.asDateTimePickerAccent); - } - - public int getAppThemeResId() { + public int getResId() { return themeRes; } diff --git a/src/main/java/org/tasks/preferences/ThemeApplicator.java b/src/main/java/org/tasks/preferences/ThemeApplicator.java index afdf66971..121136414 100644 --- a/src/main/java/org/tasks/preferences/ThemeApplicator.java +++ b/src/main/java/org/tasks/preferences/ThemeApplicator.java @@ -23,17 +23,14 @@ public class ThemeApplicator { } public void applyTheme() { - Theme appTheme = themeManager.getAppTheme(); - applyTheme(appTheme.getAppThemeResId()); + applyTheme( + themeManager.getAppTheme().getResId(), + themeManager.getAccentColor().getResId()); } - public void applyDialogTheme() { - Theme appTheme = themeManager.getAppTheme(); - applyTheme(appTheme.getDialogThemeResId()); - } - - private void applyTheme(int theme) { - activity.setTheme(theme); + private void applyTheme(int themeResId, int accentResId) { + activity.setTheme(themeResId); + activity.getTheme().applyStyle(accentResId, true); activity.getWindow().setFormat(PixelFormat.RGBA_8888); } diff --git a/src/main/java/org/tasks/preferences/ThemeManager.java b/src/main/java/org/tasks/preferences/ThemeManager.java index ff4ee725c..8e36cf208 100644 --- a/src/main/java/org/tasks/preferences/ThemeManager.java +++ b/src/main/java/org/tasks/preferences/ThemeManager.java @@ -15,20 +15,30 @@ public class ThemeManager { private final Context context; private final Preferences preferences; private final String[] themeNames; + private final String[] accentNames; @Inject public ThemeManager(@ForApplication Context context, Preferences preferences) { this.context = context; this.preferences = preferences; themeNames = context.getResources().getStringArray(R.array.themes); + accentNames = context.getResources().getStringArray(R.array.accents); } public Theme getAppTheme() { return getTheme(preferences.getInt(R.string.p_theme, 0)); } + public Theme getAccentColor() { + return getAccent(preferences.getInt(R.string.p_theme_accent, 1)); + } + public Theme getTheme(int themeIndex) { - return new Theme(context, themeIndex, getStyle(themeIndex), themeNames[themeIndex]); + return new Theme(context, themeIndex, getThemeResId(themeIndex), themeNames[themeIndex]); + } + + public Theme getAccent(int accentIndex) { + return new Theme(context, accentIndex, getAccentResId(accentIndex), accentNames[accentIndex]); } public Theme getWidgetTheme(int widgetId) { @@ -40,7 +50,7 @@ public class ThemeManager { return getAppTheme().getDialogThemeResId(); } - private int getStyle(int index) { + private int getThemeResId(int index) { switch (index) { case 1: return R.style.Black; @@ -85,4 +95,44 @@ public class ThemeManager { return R.style.BlueGrey; } } + + private int getAccentResId(int index) { + switch (index) { + case 1: + return R.style.RedAccent; + case 2: + return R.style.PinkAccent; + case 3: + return R.style.PurpleAccent; + case 4: + return R.style.DeepPurpleAccent; + case 5: + return R.style.IndigoAccent; + case 6: + return R.style.BlueAccent; + case 7: + return R.style.LightBlueAccent; + case 8: + return R.style.CyanAccent; + case 9: + return R.style.TealAccent; + case 10: + return R.style.GreenAccent; + case 11: + return R.style.LightGreenAccent; + case 12: + return R.style.LimeAccent; + case 13: + return R.style.YellowAccent; + case 14: + return R.style.AmberAccent; + case 15: + return R.style.OrangeAccent; + case 16: + return R.style.DeepOrangeAccent; + case 0: + default: + return R.style.BlueGreyAccent; + } + } } diff --git a/src/main/java/org/tasks/widget/BaseWidgetConfigActivity.java b/src/main/java/org/tasks/widget/BaseWidgetConfigActivity.java index 2513741dc..53149820e 100644 --- a/src/main/java/org/tasks/widget/BaseWidgetConfigActivity.java +++ b/src/main/java/org/tasks/widget/BaseWidgetConfigActivity.java @@ -76,7 +76,7 @@ public abstract class BaseWidgetConfigActivity extends InjectingAppCompatActivit } @Override - public void themePicked(Theme theme) { + public void themePicked(ThemePickerDialog.ColorPalette palette, Theme theme) { widgetConfigDialog.setTheme(theme); } diff --git a/src/main/java/org/tasks/widget/WidgetConfigDialog.java b/src/main/java/org/tasks/widget/WidgetConfigDialog.java index b858951a3..01b5ba49f 100644 --- a/src/main/java/org/tasks/widget/WidgetConfigDialog.java +++ b/src/main/java/org/tasks/widget/WidgetConfigDialog.java @@ -35,6 +35,8 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; +import static org.tasks.dialogs.ThemePickerDialog.newThemePickerDialog; + public class WidgetConfigDialog extends InjectingDialogFragment implements SeekBar.OnSeekBarChangeListener { private static final String FRAG_TAG_THEME_SELECTION = "frag_tag_theme_selection"; @@ -176,7 +178,7 @@ public class WidgetConfigDialog extends InjectingDialogFragment implements SeekB public void showThemeSelection() { FragmentManager fragmentManager = getFragmentManager(); if (fragmentManager.findFragmentByTag(FRAG_TAG_THEME_SELECTION) == null) { - new ThemePickerDialog().show(fragmentManager, FRAG_TAG_THEME_SELECTION); + newThemePickerDialog().show(fragmentManager, FRAG_TAG_THEME_SELECTION); } } diff --git a/src/main/res/layout/fragment_task_list.xml b/src/main/res/layout/fragment_task_list.xml index 76c1cffc4..8e4421543 100644 --- a/src/main/res/layout/fragment_task_list.xml +++ b/src/main/res/layout/fragment_task_list.xml @@ -48,7 +48,7 @@ @string/theme_grey + + @string/theme_blue_grey + @string/theme_red + @string/theme_pink + @string/theme_purple + @string/theme_deep_purple + @string/theme_indigo + @string/theme_blue + @string/theme_light_blue + @string/theme_cyan + @string/theme_teal + @string/theme_green + @string/theme_light_green + @string/theme_lime + @string/theme_yellow + @string/theme_amber + @string/theme_orange + @string/theme_deep_orange + + \ No newline at end of file diff --git a/src/main/res/values/attrs.xml b/src/main/res/values/attrs.xml index ff39962f9..a82014d15 100644 --- a/src/main/res/values/attrs.xml +++ b/src/main/res/values/attrs.xml @@ -22,12 +22,10 @@ - - diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml index fdf9362b6..e34ff26f2 100644 --- a/src/main/res/values/colors.xml +++ b/src/main/res/values/colors.xml @@ -76,6 +76,7 @@ #9e9e9e #616161 + #78909c #607d8b #455a64 diff --git a/src/main/res/values/keys.xml b/src/main/res/values/keys.xml index c7eae2404..260bc2f34 100644 --- a/src/main/res/values/keys.xml +++ b/src/main/res/values/keys.xml @@ -302,6 +302,7 @@ Tasker/Locale DashClock extension selected_theme + selected_theme_accent default_gtasks_list diff --git a/src/main/res/values/theme_amber.xml b/src/main/res/values/theme_amber.xml index 856c12f31..b25ca6302 100644 --- a/src/main/res/values/theme_amber.xml +++ b/src/main/res/values/theme_amber.xml @@ -14,4 +14,8 @@ @color/purple_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_base_light.xml b/src/main/res/values/theme_base_light.xml index c8d2eb471..9c217574a 100644 --- a/src/main/res/values/theme_base_light.xml +++ b/src/main/res/values/theme_base_light.xml @@ -23,11 +23,9 @@ #dddddd @color/dark_blue_theme_color @android:color/black - @android:color/white @color/task_edit_divider @style/SpinnerNoPadding ?attr/colorPrimary - ?attr/colorAccent + + \ No newline at end of file diff --git a/src/main/res/values/theme_blue_grey.xml b/src/main/res/values/theme_blue_grey.xml index f47912e65..50b49a09e 100644 --- a/src/main/res/values/theme_blue_grey.xml +++ b/src/main/res/values/theme_blue_grey.xml @@ -14,4 +14,8 @@ @color/red_500 + + \ No newline at end of file diff --git a/src/main/res/values/theme_cyan.xml b/src/main/res/values/theme_cyan.xml index e3897063f..33472fd0e 100644 --- a/src/main/res/values/theme_cyan.xml +++ b/src/main/res/values/theme_cyan.xml @@ -14,4 +14,8 @@ @color/amber_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_deep_orange.xml b/src/main/res/values/theme_deep_orange.xml index 14defb04d..05c36e78a 100644 --- a/src/main/res/values/theme_deep_orange.xml +++ b/src/main/res/values/theme_deep_orange.xml @@ -14,4 +14,8 @@ @color/indigo_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_deep_purple.xml b/src/main/res/values/theme_deep_purple.xml index 77ebec067..6b678b6a0 100644 --- a/src/main/res/values/theme_deep_purple.xml +++ b/src/main/res/values/theme_deep_purple.xml @@ -14,4 +14,8 @@ @color/pink_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_green.xml b/src/main/res/values/theme_green.xml index 4db5819b7..ef3b9b16e 100644 --- a/src/main/res/values/theme_green.xml +++ b/src/main/res/values/theme_green.xml @@ -14,4 +14,8 @@ @color/pink_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_indigo.xml b/src/main/res/values/theme_indigo.xml index 7b83d7bdb..15933410b 100644 --- a/src/main/res/values/theme_indigo.xml +++ b/src/main/res/values/theme_indigo.xml @@ -14,4 +14,8 @@ @color/red_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_light_blue.xml b/src/main/res/values/theme_light_blue.xml index 107dc59d8..d0e0b4fa0 100644 --- a/src/main/res/values/theme_light_blue.xml +++ b/src/main/res/values/theme_light_blue.xml @@ -14,4 +14,8 @@ @color/pink_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_light_green.xml b/src/main/res/values/theme_light_green.xml index f6927fd36..cd4a5047d 100644 --- a/src/main/res/values/theme_light_green.xml +++ b/src/main/res/values/theme_light_green.xml @@ -14,4 +14,8 @@ @color/purple_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_lime.xml b/src/main/res/values/theme_lime.xml index e07b3c2c0..7819a7cc8 100644 --- a/src/main/res/values/theme_lime.xml +++ b/src/main/res/values/theme_lime.xml @@ -14,4 +14,8 @@ @color/cyan_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_orange.xml b/src/main/res/values/theme_orange.xml index 941b1d12d..9374a79fa 100644 --- a/src/main/res/values/theme_orange.xml +++ b/src/main/res/values/theme_orange.xml @@ -14,4 +14,8 @@ @color/deep_purple_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_pink.xml b/src/main/res/values/theme_pink.xml index 0afe83bc8..78343ecdb 100644 --- a/src/main/res/values/theme_pink.xml +++ b/src/main/res/values/theme_pink.xml @@ -14,4 +14,8 @@ @color/blue_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_purple.xml b/src/main/res/values/theme_purple.xml index 7d138441c..358788829 100644 --- a/src/main/res/values/theme_purple.xml +++ b/src/main/res/values/theme_purple.xml @@ -14,4 +14,8 @@ @color/light_blue_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_red.xml b/src/main/res/values/theme_red.xml index cca4ace62..b2c488ca0 100644 --- a/src/main/res/values/theme_red.xml +++ b/src/main/res/values/theme_red.xml @@ -14,4 +14,8 @@ @color/blue_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_teal.xml b/src/main/res/values/theme_teal.xml index 8f7f4c233..15e375eeb 100644 --- a/src/main/res/values/theme_teal.xml +++ b/src/main/res/values/theme_teal.xml @@ -14,4 +14,8 @@ @color/purple_a400 + + \ No newline at end of file diff --git a/src/main/res/values/theme_yellow.xml b/src/main/res/values/theme_yellow.xml index dc5c8ef7a..dd72345c4 100644 --- a/src/main/res/values/theme_yellow.xml +++ b/src/main/res/values/theme_yellow.xml @@ -14,4 +14,8 @@ @color/red_a400 + + \ No newline at end of file diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml index cf76f8e47..bd6565354 100644 --- a/src/main/res/xml/preferences.xml +++ b/src/main/res/xml/preferences.xml @@ -5,6 +5,10 @@ android:key="@string/p_theme" android:title="@string/theme" /> + +