From 3c20bb8e0fcd490b05d012645d5f1bf85d16c8b4 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Fri, 30 Mar 2018 15:05:29 +0200 Subject: [PATCH] Improve color selection dialog --- .../java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt | 6 +++++- .../de/kuschku/quasseldroid/util/ui/ColorChooserDialog.java | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt index 0c4beb466..9c7fa8b34 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt @@ -289,7 +289,7 @@ class Editor( private fun showColorChooser( activity: FragmentActivity, @StringRes title: Int, @ColorInt preselect: Int, f: (Int?) -> Unit ) { - var selectedColor: Int? = null + var selectedColor: Int? = preselect ColorChooserDialog.Builder(chatline.context, title) .customColors(intArrayOf( formatHandler.mircColors[0], @@ -318,6 +318,10 @@ class Editor( .dynamicButtonColor(false) .allowUserColorInputAlpha(false) .callback(object : ColorChooserDialog.ColorCallback { + override fun onColorReset(dialog: ColorChooserDialog) { + selectedColor = null + } + override fun onColorSelection(dialog: ColorChooserDialog, color: Int) { selectedColor = color } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/ColorChooserDialog.java b/app/src/main/java/de/kuschku/quasseldroid/util/ui/ColorChooserDialog.java index 811ff4d82..ffe1a7f3e 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/ui/ColorChooserDialog.java +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/ColorChooserDialog.java @@ -341,6 +341,7 @@ public class ColorChooserDialog extends DialogFragment subIndex(-1); // Do this to avoid ArrayIndexOutOfBoundsException invalidate(); } else { + builder.callback.onColorReset(ColorChooserDialog.this); dialog.cancel(); } } @@ -574,6 +575,7 @@ public class ColorChooserDialog extends DialogFragment } public interface ColorCallback { + void onColorReset(@NonNull ColorChooserDialog dialog); void onColorSelection(@NonNull ColorChooserDialog dialog, @ColorInt int selectedColor); -- GitLab