@SuppressWarnings("ConstantConditions")
  public void searchRadiusDialog() {
    scanValue = Integer.valueOf(preferences.getString(SettingsUtil.SCAN_VALUE, "4"));

    final AppCompatDialog dialog = new AppCompatDialog(this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.dialog_search_radius);

    final SeekBar seekBar = (SeekBar) dialog.findViewById(R.id.seekBar);
    Button btnSave = (Button) dialog.findViewById(R.id.btnAccept);
    Button btnCancel = (Button) dialog.findViewById(R.id.btnCancel);
    final TextView tvNumber = (TextView) dialog.findViewById(R.id.tvNumber);
    final TextView tvEstimate = (TextView) dialog.findViewById(R.id.tvEstimate);
    tvNumber.setText(String.valueOf(scanValue));
    tvEstimate.setText(
        getString(R.string.timeEstimate) + " " + UiUtils.getSearchTime(scanValue, this));
    seekBar.setProgress(scanValue);
    seekBar.setMax(12);
    seekBar.setOnSeekBarChangeListener(
        new SeekBar.OnSeekBarChangeListener() {
          @Override
          public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
            tvNumber.setText(String.valueOf(i));
            tvEstimate.setText(
                getString(R.string.timeEstimate)
                    + " "
                    + UiUtils.getSearchTime(i, SettingsActivity.this));
          }

          @Override
          public void onStartTrackingTouch(SeekBar seekBar) {}

          @Override
          public void onStopTrackingTouch(SeekBar seekBar) {}
        });

    btnSave.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View view) {
            int saveValue = seekBar.getProgress();
            if (saveValue == 0) {
              scanValue = 1;
            } else {
              scanValue = saveValue;
            }
            SharedPreferences.Editor editor = preferences.edit();
            editor.putString(SettingsUtil.SCAN_VALUE, String.valueOf(scanValue));
            editor.apply();
            dialog.dismiss();
          }
        });

    btnCancel.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View view) {
            dialog.dismiss();
          }
        });
    dialog.show();
  }