// 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); } } }