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