public void onClick(DialogInterface dialog, int clicked) {
      switch (clicked) {
        case DialogInterface.BUTTON_POSITIVE:
          Intent serviceIntent = new Intent(getBaseContext(), FileUploadService.class);
          Bundle bundle = updDetails.getBundle();
          serviceIntent.putExtra("UploadDetailsBundle", bundle);
          startService(serviceIntent);
          break;

        case DialogInterface.BUTTON_NEGATIVE:
          Toast.makeText(
                  getApplicationContext(),
                  "File '" + mChosenFile + "' upload cancelled",
                  Toast.LENGTH_SHORT)
              .show();
          break;
      }
    }
  public Dialog onCreateDialog(int id) {
    Dialog dialog = null;

    switch (id) {
      case AWS_APP_FILE_SELECT_DIALOG:
        AlertDialog.Builder builder = new Builder(this);
        builder.setTitle("Choose your file");
        builder.setItems(mFileList, this);
        builder.show();
        dialog = builder.create();
        break;

      case AWS_APP_FILE_PRIOIRTY_DIALOG:
        final CharSequence[] priority = {"High", "Low"};
        AlertDialog.Builder builder2 = new Builder(this);
        builder2.setTitle("File Upload Priority");
        builder2.setSingleChoiceItems(
            priority,
            -1,
            new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(
                        getApplicationContext(), "Priority: " + priority[item], Toast.LENGTH_SHORT)
                    .show();
                updDetails.awsFileUpdPriority = item;
                onCreateDialog(AWS_APP_FILE_DEADLINE_DIALOG);
                dialog.dismiss();
              }
            });
        builder2.show();
        dialog = builder2.create();
        break;

      case AWS_APP_FILE_SENSTIVITY_DIALOG:
        final CharSequence[] senstivity = {"Normal", "Low"};
        AlertDialog.Builder builder3 = new Builder(this);
        builder3.setTitle("File Upload Sensitivity");
        builder3.setSingleChoiceItems(
            senstivity,
            -1,
            new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(
                        getApplicationContext(),
                        "Senstivity: " + senstivity[item],
                        Toast.LENGTH_SHORT)
                    .show();
                updDetails.awsFileUpdSenstivity = item;
                onCreateDialog(AWS_APP_FILE_PRIOIRTY_DIALOG);
                dialog.dismiss();
              }
            });
        builder3.show();
        dialog = builder3.create();
        break;

      case AWS_APP_FILE_DEADLINE_DIALOG:
        AlertDialog.Builder builder4 = new Builder(this);
        builder4.setTitle("File Upload Deadline");
        final CharSequence[] highDeadline = {"10 Mins", "30 Mins", "1 Hour"};
        final int[] highDeadlineInt = {10, 30, 60};
        final CharSequence[] lowDeadline = {"2 Hours", "3 Hours", "5 Hours", "EoD"};
        final int[] lowDeadlineInt = {120, 180, 300, 360};
        if (updDetails.awsFileUpdPriority
            == AwsAppBrokerIntfMsg.awsUploadPriority.AWS_UPD_PRIORITY_HIGH.ordinal()) {
          builder4.setSingleChoiceItems(
              highDeadline,
              -1,
              new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                  Toast.makeText(
                          getApplicationContext(),
                          "Deadline: " + highDeadline[item],
                          Toast.LENGTH_SHORT)
                      .show();
                  updDetails.awsFileUpdDeadline = highDeadlineInt[item];
                  onCreateDialog(AWS_APP_FINAL_UPD_DIALOG);
                  dialog.dismiss();
                }
              });
        } else {
          builder4.setSingleChoiceItems(
              lowDeadline,
              -1,
              new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                  Toast.makeText(
                          getApplicationContext(),
                          "Deadline: " + lowDeadline[item],
                          Toast.LENGTH_SHORT)
                      .show();
                  updDetails.awsFileUpdDeadline = lowDeadlineInt[item];
                  onCreateDialog(AWS_APP_FINAL_UPD_DIALOG);
                  dialog.dismiss();
                }
              });
        }

        builder4.show();
        dialog = builder4.create();
        break;

      case AWS_APP_FINAL_UPD_DIALOG:
        final CharSequence[] details = {
          "File Senstivity: " + ((updDetails.awsFileUpdSenstivity == 0) ? "Normal" : "Low"),
          "Upload Priority: " + ((updDetails.awsFileUpdPriority == 0) ? "High" : "Low"),
          "Upload Deadline: "
              + ((updDetails.awsFileUpdDeadline / 60 == 0)
                  ? updDetails.awsFileUpdDeadline + "mins"
                  : updDetails.awsFileUpdDeadline / 60 + "Hr(s)")
        };
        AlertDialog.Builder builder5 = new Builder(this);
        builder5.setTitle("File: " + this.mChosenFile);
        builder5.setItems(
            details,
            new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int item) {
                /* do nothing */
              }
            });
        /*
         * Update the variables to be passed to the AsyncTask
         */
        updDetails.awsFileUpdPath = this.mPath;
        updDetails.awsFileUpdSize = (int) this.mPath.length();
        updDetails.awsFileUpdName = this.mChosenFile;
        updDetails.context = getApplicationContext();
        builder5.setPositiveButton("Upload", new DialogButtonClickHandler(updDetails));
        builder5.setNegativeButton("Cancel", new DialogButtonClickHandler());
        builder5.show();
        dialog = builder5.create();
        break;
    }
    return dialog;
  }