@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;
 }