@NonNull public ColorChooserDialog build() { ColorChooserDialog dialog = new ColorChooserDialog(); Bundle args = new Bundle(); args.putSerializable("builder", this); dialog.setArguments(args); return dialog; }
// Receives callback from color chooser dialog @Override public void onColorSelection(@NonNull ColorChooserDialog dialog, @ColorInt int color) { if (dialog.isAccentMode()) { accentPreselect = color; ThemeSingleton.get().positiveColor = DialogUtils.getActionTextStateList(this, color); ThemeSingleton.get().neutralColor = DialogUtils.getActionTextStateList(this, color); ThemeSingleton.get().negativeColor = DialogUtils.getActionTextStateList(this, color); ThemeSingleton.get().widgetColor = color; } else { primaryPreselect = color; if (getSupportActionBar() != null) getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setStatusBarColor(CircleView.shiftColorDown(color)); getWindow().setNavigationBarColor(color); } } }
@NonNull public ColorChooserDialog show() { ColorChooserDialog dialog = build(); dialog.show(mContext); return dialog; }