@Override
 public void finish() {
   Intent intent = new Intent();
   int result;
   if (gspaContainer.isSet()) {
     try {
       intent.putExtra(GSPA, gspaContainer.getAsBundle());
     } catch (IContainer.NotSetException e) {
       log(ELog.e, e.getMessage(), e);
     }
     result = RESULT_OK;
   } else {
     result = RESULT_CANCELED;
   }
   setResult(result, intent);
   super.finish();
 }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.group_settings_picker_activity);
    try {
      setTitleBar(
          R.string.gspa_title, (ViewGroup) findViewById(R.id.group_settings_picker_activity));
    } catch (ClassCastException e) {
      log(ELog.e, e.getMessage(), e);
    }

    try {
      gspaContainer.setDefault();
    } catch (IContainer.NotSetException e) {
      log(ELog.e, e.getMessage(), e);
    }

    Button dateButton = (Button) findViewById(R.id.gspa_date);
    dateButton.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            startDatePickerDialog();
          }
        });
    updateDateText();

    Button timeButton = (Button) findViewById(R.id.gspa_time);
    timeButton.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            startTimePickerDialog();
          }
        });
    updateTimeText();

    final SeekBar radiusBar = (SeekBar) findViewById(R.id.gspa_radius_slider);
    radiusBar.setMax(RADIUS_MAX);
    radiusBar.setProgress(gspaContainer.getRadius());
    radiusBar.setOnSeekBarChangeListener(
        new SeekBar.OnSeekBarChangeListener() {
          @Override
          public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            setRadius(progress);
          }

          @Override
          public void onStartTrackingTouch(SeekBar seekBar) {}

          @Override
          public void onStopTrackingTouch(SeekBar seekBar) {
            radiusBar.playSoundEffect(SoundEffectConstants.CLICK);
            showRadius();
          }
        });

    RadioGroup priceGroup = (RadioGroup) findViewById(R.id.gspa_price_group);
    priceGroup.check(R.id.gspa_price_$);
    priceGroup.setOnCheckedChangeListener(
        new RadioGroup.OnCheckedChangeListener() {
          @Override
          public void onCheckedChanged(RadioGroup group, int checkedId) {
            try {
              RadioButton checkedButton = (RadioButton) findViewById(checkedId);
              setPriceLevel(checkedButton.getText().length());
              checkedButton.playSoundEffect(SoundEffectConstants.CLICK);
              showPriceLevel();
            } catch (NullPointerException | ClassCastException e) {
              log(ELog.e, e.getMessage(), e);
            }
          }
        });
  }