diff --git a/app/src/main/assets/changelog.html b/app/src/main/assets/changelog.html index 3edc6754..6f2b1c34 100644 --- a/app/src/main/assets/changelog.html +++ b/app/src/main/assets/changelog.html @@ -25,6 +25,12 @@

You can view the changelog dialog again at any time from the about section.

+

Version 0.9.47 beta 1

+ +
    +
  1. NEW: HEX color chooser! (Once again you can thank Aidan Follestad for that)
  2. +
+

Version 0.9.46 beta 6

    diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ColorChooserDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ColorChooserDialog.java deleted file mode 100644 index 6d12615e..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ColorChooserDialog.java +++ /dev/null @@ -1,280 +0,0 @@ -package com.kabouzeid.gramophone.dialogs; - -import android.app.Activity; -import android.app.Dialog; -import android.os.Bundle; -import android.support.annotation.ColorInt; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; -import android.util.DisplayMetrics; -import android.util.TypedValue; -import android.view.Gravity; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; -import android.widget.GridView; - -import com.afollestad.materialdialogs.DialogAction; -import com.afollestad.materialdialogs.MaterialDialog; -import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.views.SelectableColorView; - -/** - * @author Aidan Follestad (afollestad), Karim Abou Zeid (kabouzeid) - */ -public class ColorChooserDialog extends LeakDetectDialogFragment implements View.OnClickListener { - - private ColorSetWithHeaders colorSetWithHeaders; - - public ColorChooserDialog() { - } - - private int mCircleSize; - private ColorCallback mCallback; - private GridView mGrid; - - @Override - public void onAttach(Activity activity) { - super.onAttach(activity); - if (!(activity instanceof ColorCallback)) - throw new IllegalStateException("ColorChooserDialog needs to be shown from an Activity implementing ColorCallback."); - mCallback = (ColorCallback) activity; - } - - private boolean isInSub() { - return getArguments().getBoolean("in_sub", false); - } - - private void setInSub(boolean value) { - getArguments().putBoolean("in_sub", value); - if (value) { - ((MaterialDialog) getDialog()).setActionButton(DialogAction.NEUTRAL, R.string.back); - } else { - ((MaterialDialog) getDialog()).setActionButton(DialogAction.NEUTRAL, null); - } - } - - private int getTopIndex() { - return getArguments().getInt("top_index", -1); - } - - private void setTopIndex(int value) { - if (getTopIndex() != value) - setSubIndex(colorSetWithHeaders.headerColorIndexes[value]); - getArguments().putInt("top_index", value); - } - - private int getSubIndex() { - return getArguments().getInt("sub_index", -1); - } - - private void setSubIndex(int value) { - getArguments().putInt("sub_index", value); - } - - private int getPreselectColor() { - return getArguments().getInt("color_preselect", -1); - } - - @Override - public void onClick(View v) { - if (v.getTag() != null) { - final int index = (Integer) v.getTag(); - if (isInSub()) { - setSubIndex(index); - } else { - setTopIndex(index); - setInSub(true); - } - invalidateGrid(); - } - } - - public interface ColorCallback { - void onColorSelection(@NonNull ColorChooserDialog dialog, @ColorInt int selectedColor); - } - - private void setColors() { - colorSetWithHeaders = ColorSetWithHeaders.fromBundle(getArguments()); - } - - private void setIndexesFor(@ColorInt int color) { - if (getTopIndex() != -1) return; - if (color != 0) { - for (int i = 0; i < colorSetWithHeaders.colors.length; i++) { - for (int z = 0; z < colorSetWithHeaders.colors[i].length; z++) { - if (color == colorSetWithHeaders.colors[i][z]) { - setTopIndex(i); - setSubIndex(z); - return; - } - } - } - } - } - - public int getTitleRes() { - return getArguments().getInt("title", 0); - } - - @NonNull - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - setColors(); - setIndexesFor(getPreselectColor()); - - final DisplayMetrics dm = getResources().getDisplayMetrics(); - mCircleSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 56, dm); - mGrid = new GridView(getContext()); - mGrid.setLayoutParams(new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - mGrid.setColumnWidth(mCircleSize); - mGrid.setNumColumns(GridView.AUTO_FIT); - - final int eightDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8, dm); - mGrid.setVerticalSpacing(eightDp); - mGrid.setHorizontalSpacing(eightDp); - - final int sixteenDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16, dm); - mGrid.setPadding(sixteenDp, sixteenDp, sixteenDp, sixteenDp); - mGrid.setClipToPadding(false); - mGrid.setStretchMode(GridView.STRETCH_COLUMN_WIDTH); - mGrid.setGravity(Gravity.CENTER); - - MaterialDialog dialog = new MaterialDialog.Builder(getActivity()) - .title(getTitleRes()) - .autoDismiss(false) - .customView(mGrid, false) - .positiveText(R.string.select) - .callback(new MaterialDialog.ButtonCallback() { - @Override - public void onPositive(MaterialDialog dialog) { - super.onPositive(dialog); - mCallback.onColorSelection(ColorChooserDialog.this, getSelectedColor()); - dismiss(); - } - - @Override - public void onNeutral(MaterialDialog dialog) { - super.onNeutral(dialog); - setInSub(false); - invalidateGrid(); - } - }).build(); - invalidateGrid(); - if (isInSub()) { - dialog.setActionButton(DialogAction.NEUTRAL, R.string.back); - } - return dialog; - } - - @ColorInt - private int getSelectedColor() { - int selectedColor = 0; - int topIndex = getTopIndex(); - int subIndex = getSubIndex(); - if (topIndex != -1 && subIndex != -1) { - selectedColor = colorSetWithHeaders.colors[topIndex][subIndex]; - } - return selectedColor; - } - - private void invalidateGrid() { - if (mGrid.getAdapter() == null) { - mGrid.setAdapter(new ColorGridAdapter()); - } else { - ((BaseAdapter) mGrid.getAdapter()).notifyDataSetChanged(); - } - } - - private class ColorGridAdapter extends BaseAdapter { - - public ColorGridAdapter() { - } - - @Override - public int getCount() { - if (isInSub()) { - return colorSetWithHeaders.colors[getTopIndex()].length; - } else { - return colorSetWithHeaders.colors.length; - } - } - - @Override - public Object getItem(int position) { - if (isInSub()) { - return colorSetWithHeaders.colors[getTopIndex()][position]; - } else { - return colorSetWithHeaders.colors[position][colorSetWithHeaders.headerColorIndexes[position]]; - } - } - - @Override - public long getItemId(int position) { - return position; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - if (convertView == null) { - convertView = new SelectableColorView(getContext()); - convertView.setLayoutParams(new GridView.LayoutParams(mCircleSize, mCircleSize)); - } - SelectableColorView child = (SelectableColorView) convertView; - if (isInSub()) { - child.setColor(colorSetWithHeaders.colors[getTopIndex()][position]); - child.setSelected(getSubIndex() == position); - } else { - child.setColor(colorSetWithHeaders.colors[position][colorSetWithHeaders.headerColorIndexes[position]]); - child.setSelected(getTopIndex() == position); - } - child.setTag(position); - child.setOnClickListener(ColorChooserDialog.this); - return convertView; - } - } - - public static ColorChooserDialog create(@StringRes int title, @NonNull ColorSetWithHeaders colorSetWithHeaders, @ColorInt int preselectColor) { - ColorChooserDialog dialog = new ColorChooserDialog(); - Bundle args = new Bundle(); - args.putInt("title", title); - args.putInt("color_preselect", preselectColor); - - ColorSetWithHeaders.toBundle(colorSetWithHeaders, args); - - dialog.setArguments(args); - return dialog; - } - - public static final class ColorSetWithHeaders { - final int[] headerColorIndexes; - final int[][] colors; - - public ColorSetWithHeaders(int[] headerColorIndexes, int[][] colors) { - if (headerColorIndexes.length != colors.length) { - throw new IllegalArgumentException("int[] headerColorIndexes and int[][] colors must have the same length"); - } - this.headerColorIndexes = headerColorIndexes; - this.colors = colors; - } - - static void toBundle(ColorSetWithHeaders colorSetWithHeaders, Bundle bundle) { - bundle.putIntArray("top_colors", colorSetWithHeaders.headerColorIndexes); - for (int i = 0; i < colorSetWithHeaders.colors.length; i++) { - bundle.putIntArray("sub_colors_" + i, colorSetWithHeaders.colors[i]); - } - } - - static ColorSetWithHeaders fromBundle(Bundle bundle) { - int[] headerColorIndexes = bundle.getIntArray("top_colors"); - if (headerColorIndexes == null) - return new ColorSetWithHeaders(new int[]{}, new int[][]{}); - int[][] colors = new int[headerColorIndexes.length][]; - for (int i = 0; i < colors.length; i++) { - colors[i] = bundle.getIntArray("sub_colors_" + i); - } - return new ColorSetWithHeaders(headerColorIndexes, colors); - } - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/ColorPalette.java b/app/src/main/java/com/kabouzeid/gramophone/helper/ColorPalette.java deleted file mode 100644 index ca699f9d..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/ColorPalette.java +++ /dev/null @@ -1,389 +0,0 @@ -package com.kabouzeid.gramophone.helper; - -import android.graphics.Color; - -/** - * @author Karim Abou Zeid (kabouzeid) - */ -public class ColorPalette { - public static int[] MAIN_PRIMARY_COLOR_INDEXES = new int[]{ - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 6, - 5 - }; - - public static int[][] PRIMARY_COLORS = new int[][]{ - new int[]{ - Color.parseColor("#FFEBEE"), - Color.parseColor("#FFCDD2"), - Color.parseColor("#EF9A9A"), - Color.parseColor("#E57373"), - Color.parseColor("#EF5350"), - Color.parseColor("#F44336"), - Color.parseColor("#E53935"), - Color.parseColor("#D32F2F"), - Color.parseColor("#C62828"), - Color.parseColor("#B71C1C") - }, - new int[]{ - Color.parseColor("#FCE4EC"), - Color.parseColor("#F8BBD0"), - Color.parseColor("#F48FB1"), - Color.parseColor("#F06292"), - Color.parseColor("#EC407A"), - Color.parseColor("#E91E63"), - Color.parseColor("#D81B60"), - Color.parseColor("#C2185B"), - Color.parseColor("#AD1457"), - Color.parseColor("#880E4F") - }, - new int[]{ - Color.parseColor("#F3E5F5"), - Color.parseColor("#E1BEE7"), - Color.parseColor("#CE93D8"), - Color.parseColor("#BA68C8"), - Color.parseColor("#AB47BC"), - Color.parseColor("#9C27B0"), - Color.parseColor("#8E24AA"), - Color.parseColor("#7B1FA2"), - Color.parseColor("#6A1B9A"), - Color.parseColor("#4A148C") - }, - new int[]{ - Color.parseColor("#EDE7F6"), - Color.parseColor("#D1C4E9"), - Color.parseColor("#B39DDB"), - Color.parseColor("#9575CD"), - Color.parseColor("#7E57C2"), - Color.parseColor("#673AB7"), - Color.parseColor("#5E35B1"), - Color.parseColor("#512DA8"), - Color.parseColor("#4527A0"), - Color.parseColor("#311B92") - }, - new int[]{ - Color.parseColor("#E8EAF6"), - Color.parseColor("#C5CAE9"), - Color.parseColor("#9FA8DA"), - Color.parseColor("#7986CB"), - Color.parseColor("#5C6BC0"), - Color.parseColor("#3F51B5"), - Color.parseColor("#3949AB"), - Color.parseColor("#303F9F"), - Color.parseColor("#283593"), - Color.parseColor("#1A237E") - }, - new int[]{ - Color.parseColor("#E3F2FD"), - Color.parseColor("#BBDEFB"), - Color.parseColor("#90CAF9"), - Color.parseColor("#64B5F6"), - Color.parseColor("#42A5F5"), - Color.parseColor("#2196F3"), - Color.parseColor("#1E88E5"), - Color.parseColor("#1976D2"), - Color.parseColor("#1565C0"), - Color.parseColor("#0D47A1") - }, - new int[]{ - Color.parseColor("#E1F5FE"), - Color.parseColor("#B3E5FC"), - Color.parseColor("#81D4FA"), - Color.parseColor("#4FC3F7"), - Color.parseColor("#29B6F6"), - Color.parseColor("#03A9F4"), - Color.parseColor("#039BE5"), - Color.parseColor("#0288D1"), - Color.parseColor("#0277BD"), - Color.parseColor("#01579B") - }, - new int[]{ - Color.parseColor("#E0F7FA"), - Color.parseColor("#B2EBF2"), - Color.parseColor("#80DEEA"), - Color.parseColor("#4DD0E1"), - Color.parseColor("#26C6DA"), - Color.parseColor("#00BCD4"), - Color.parseColor("#00ACC1"), - Color.parseColor("#0097A7"), - Color.parseColor("#00838F"), - Color.parseColor("#006064") - }, - new int[]{ - Color.parseColor("#E0F2F1"), - Color.parseColor("#B2DFDB"), - Color.parseColor("#80CBC4"), - Color.parseColor("#4DB6AC"), - Color.parseColor("#26A69A"), - Color.parseColor("#009688"), - Color.parseColor("#00897B"), - Color.parseColor("#00796B"), - Color.parseColor("#00695C"), - Color.parseColor("#004D40") - }, - new int[]{ - Color.parseColor("#E8F5E9"), - Color.parseColor("#C8E6C9"), - Color.parseColor("#A5D6A7"), - Color.parseColor("#81C784"), - Color.parseColor("#66BB6A"), - Color.parseColor("#4CAF50"), - Color.parseColor("#43A047"), - Color.parseColor("#388E3C"), - Color.parseColor("#2E7D32"), - Color.parseColor("#1B5E20") - }, - new int[]{ - Color.parseColor("#F1F8E9"), - Color.parseColor("#DCEDC8"), - Color.parseColor("#C5E1A5"), - Color.parseColor("#AED581"), - Color.parseColor("#9CCC65"), - Color.parseColor("#8BC34A"), - Color.parseColor("#7CB342"), - Color.parseColor("#689F38"), - Color.parseColor("#558B2F"), - Color.parseColor("#33691E") - }, - new int[]{ - Color.parseColor("#F9FBE7"), - Color.parseColor("#F0F4C3"), - Color.parseColor("#E6EE9C"), - Color.parseColor("#DCE775"), - Color.parseColor("#D4E157"), - Color.parseColor("#CDDC39"), - Color.parseColor("#C0CA33"), - Color.parseColor("#AFB42B"), - Color.parseColor("#9E9D24"), - Color.parseColor("#827717") - }, - new int[]{ - Color.parseColor("#FFFDE7"), - Color.parseColor("#FFF9C4"), - Color.parseColor("#FFF59D"), - Color.parseColor("#FFF176"), - Color.parseColor("#FFEE58"), - Color.parseColor("#FFEB3B"), - Color.parseColor("#FDD835"), - Color.parseColor("#FBC02D"), - Color.parseColor("#F9A825"), - Color.parseColor("#F57F17") - }, - new int[]{ - Color.parseColor("#FFF8E1"), - Color.parseColor("#FFECB3"), - Color.parseColor("#FFE082"), - Color.parseColor("#FFD54F"), - Color.parseColor("#FFCA28"), - Color.parseColor("#FFC107"), - Color.parseColor("#FFB300"), - Color.parseColor("#FFA000"), - Color.parseColor("#FF8F00"), - Color.parseColor("#FF6F00") - }, - new int[]{ - Color.parseColor("#FFF3E0"), - Color.parseColor("#FFE0B2"), - Color.parseColor("#FFCC80"), - Color.parseColor("#FFB74D"), - Color.parseColor("#FFA726"), - Color.parseColor("#FF9800"), - Color.parseColor("#FB8C00"), - Color.parseColor("#F57C00"), - Color.parseColor("#EF6C00"), - Color.parseColor("#E65100") - }, - new int[]{ - Color.parseColor("#FBE9E7"), - Color.parseColor("#FFCCBC"), - Color.parseColor("#FFAB91"), - Color.parseColor("#FF8A65"), - Color.parseColor("#FF7043"), - Color.parseColor("#FF5722"), - Color.parseColor("#F4511E"), - Color.parseColor("#E64A19"), - Color.parseColor("#D84315"), - Color.parseColor("#BF360C") - }, - new int[]{ - Color.parseColor("#EFEBE9"), - Color.parseColor("#D7CCC8"), - Color.parseColor("#BCAAA4"), - Color.parseColor("#A1887F"), - Color.parseColor("#8D6E63"), - Color.parseColor("#795548"), - Color.parseColor("#6D4C41"), - Color.parseColor("#5D4037"), - Color.parseColor("#4E342E"), - Color.parseColor("#3E2723") - }, - new int[]{ - Color.parseColor("#FFFFFF"), // not in the original palette - Color.parseColor("#FAFAFA"), - Color.parseColor("#F5F5F5"), - Color.parseColor("#EEEEEE"), - Color.parseColor("#E0E0E0"), - Color.parseColor("#BDBDBD"), - Color.parseColor("#9E9E9E"), - Color.parseColor("#757575"), - Color.parseColor("#616161"), - Color.parseColor("#424242"), - Color.parseColor("#212121"), - Color.parseColor("#000000") // not in the original palette - }, - new int[]{ - Color.parseColor("#ECEFF1"), - Color.parseColor("#CFD8DC"), - Color.parseColor("#B0BEC5"), - Color.parseColor("#90A4AE"), - Color.parseColor("#78909C"), - Color.parseColor("#607D8B"), - Color.parseColor("#546E7A"), - Color.parseColor("#455A64"), - Color.parseColor("#37474F"), - Color.parseColor("#263238") - } - }; - - public static int[] MAIN_ACCENT_COLOR_INDEXES = new int[]{ - 2, - 1, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2 - }; - - public static int[][] ACCENT_COLORS = new int[][]{ - new int[]{ - Color.parseColor("#ff8a80"), - Color.parseColor("#ff5252"), - Color.parseColor("#ff1744"), - Color.parseColor("#d50000") - }, - - new int[]{ - Color.parseColor("#ff80ab"), - Color.parseColor("#ff4081"), - Color.parseColor("#f50057"), - Color.parseColor("#c51162") - }, - new int[]{ - Color.parseColor("#ea80fc"), - Color.parseColor("#e040fb"), - Color.parseColor("#d500f9"), - Color.parseColor("#aa00ff") - }, - new int[]{ - Color.parseColor("#b388ff"), - Color.parseColor("#7c4dff"), - Color.parseColor("#651fff"), - Color.parseColor("#6200ea") - }, - new int[]{ - Color.parseColor("#8c9eff"), - Color.parseColor("#536dfe"), - Color.parseColor("#3d5afe"), - Color.parseColor("#304ffe") - }, - new int[]{ - Color.parseColor("#82b1ff"), - Color.parseColor("#448aff"), - Color.parseColor("#2979ff"), - Color.parseColor("#2962ff") - }, - new int[]{ - Color.parseColor("#80d8ff"), - Color.parseColor("#40c4ff"), - Color.parseColor("#00b0ff"), - Color.parseColor("#0091ea") - }, - new int[]{ - Color.parseColor("#84ffff"), - Color.parseColor("#18ffff"), - Color.parseColor("#00e5ff"), - Color.parseColor("#00b8d4") - }, - new int[]{ - Color.parseColor("#a7ffeb"), - Color.parseColor("#64ffda"), - Color.parseColor("#1de9b6"), - Color.parseColor("#00bfa5") - }, - new int[]{ - Color.parseColor("#b9f6ca"), - Color.parseColor("#69f0ae"), - Color.parseColor("#00e676"), - Color.parseColor("#00c853") - }, - new int[]{ - Color.parseColor("#ccff90"), - Color.parseColor("#b2ff59"), - Color.parseColor("#76ff03"), - Color.parseColor("#64dd17") - }, - new int[]{ - Color.parseColor("#f4ff81"), - Color.parseColor("#eeff41"), - Color.parseColor("#c6ff00"), - Color.parseColor("#aeea00") - }, - new int[]{ - Color.parseColor("#ffff8d"), - Color.parseColor("#ffff00"), - Color.parseColor("#ffea00"), - Color.parseColor("#ffd600") - }, - new int[]{ - Color.parseColor("#ffe57f"), - Color.parseColor("#ffd740"), - Color.parseColor("#ffc400"), - Color.parseColor("#ffab00") - }, - new int[]{ - Color.parseColor("#ffd180"), - Color.parseColor("#ffab40"), - Color.parseColor("#ff9100"), - Color.parseColor("#ff6d00") - }, - new int[]{ - Color.parseColor("#ff9e80"), - Color.parseColor("#ff6e40"), - Color.parseColor("#ff3d00"), - Color.parseColor("#dd2c00") - }, - new int[]{ - Color.parseColor("#FFFFFF"), // not in the original palette - Color.parseColor("#9E9E9E"), // not in the original palette - Color.parseColor("#424242"), // not in the original palette - Color.parseColor("#000000") // not in the original palette - } - }; -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java index a83388e4..11eff498 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java @@ -18,12 +18,10 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; +import com.afollestad.materialdialogs.color.ColorChooserDialog; import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.dialogs.ColorChooserDialog; -import com.kabouzeid.gramophone.helper.ColorPalette; import com.kabouzeid.gramophone.prefs.ColorChooserPreference; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; -import com.kabouzeid.gramophone.util.ColorUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import com.kabouzeid.gramophone.util.ViewUtil; @@ -60,7 +58,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia @Override public void onColorSelection(@NonNull ColorChooserDialog dialog, @ColorInt int selectedColor) { - switch (dialog.getTitleRes()) { + switch (dialog.getTitle()) { case R.string.primary_color: PreferenceUtil.getInstance(this).setThemeColorPrimary(selectedColor); break; @@ -153,12 +151,11 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia primaryColor.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(@NonNull Preference preference) { - ColorChooserDialog - .create(preference.getTitleRes(), - new ColorChooserDialog.ColorSetWithHeaders(ColorPalette.MAIN_PRIMARY_COLOR_INDEXES, ColorPalette.PRIMARY_COLORS), - PreferenceUtil.getInstance(getActivity()).getThemeColorPrimary(getActivity()) - ) - .show(((SettingsActivity) getActivity()).getSupportFragmentManager(), "COLOR_CHOOSER"); + new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.primary_color) + .accentMode(false) + .allowUserColorInput(true) + .preselect(PreferenceUtil.getInstance(getActivity()).getThemeColorPrimary(getActivity())) + .show(); return true; } }); @@ -168,12 +165,11 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia accentColor.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(@NonNull Preference preference) { - ColorChooserDialog - .create(preference.getTitleRes(), - new ColorChooserDialog.ColorSetWithHeaders(ColorPalette.MAIN_ACCENT_COLOR_INDEXES, ColorPalette.ACCENT_COLORS), - PreferenceUtil.getInstance(getActivity()).getThemeColorAccent(getActivity()) - ) - .show(((SettingsActivity) getActivity()).getSupportFragmentManager(), "COLOR_CHOOSER"); + new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.accent_color) + .accentMode(true) + .allowUserColorInput(true) + .preselect(PreferenceUtil.getInstance(getActivity()).getThemeColorAccent(getActivity())) + .show(); return true; } }); diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 765abe4e..49b2e7b0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -122,7 +122,7 @@ public final class PreferenceUtil { } public int getThemeColorAccent(Context context) { - return mPreferences.getInt("accent_color", ContextCompat.getColor(context, R.color.pink_A200)); + return mPreferences.getInt("accent_color", ContextCompat.getColor(context, R.color.pink_A400)); } @SuppressLint("CommitPrefEdits") diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 8ae95aff..6de24ef5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,8 +1,8 @@ - #ff4081 - #3f51b5 + #F50057 + #3F51B5 #616161 #212121