MyDialogActivity.java revision 6fc52023a04fe45b6f59212fc716cbbcf76f35fc
1package foo.bar.printservice; 2 3import android.app.ListActivity; 4import android.os.Bundle; 5import android.view.View; 6import android.widget.AdapterView; 7import android.widget.ArrayAdapter; 8 9public class MyDialogActivity extends ListActivity { 10 11 private static final int ITEM_INDEX_PRINT_NOW = 0; 12 private static final int ITEM_INDEX_PRINT_DELAYED = 1; 13 private static final int ITEM_INDEX_FAIL_NOW = 2; 14 private static final int ITEM_INDEX_FAIL_DELAYED = 3; 15 16 private static final int ITEM_INDEX_CANCEL_YES = 0; 17 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 22 final int printJobId = getIntent().getIntExtra(MyPrintService.INTENT_EXTRA_PRINT_JOB_ID, 0); 23 final int actionType = getIntent().getIntExtra(MyPrintService.INTENT_EXTRA_ACTION_TYPE, 24 MyPrintService.ACTION_TYPE_ON_PRINT_JOB_PENDING); 25 26 if (actionType == MyPrintService.ACTION_TYPE_ON_PRINT_JOB_PENDING) { 27 createActionTypeOnPrintJobPendingUi(printJobId); 28 } else { 29 createActionTypeOnReqeustCancelPrintJobUi(printJobId); 30 } 31 } 32 33 private void createActionTypeOnPrintJobPendingUi(final int printJobId) { 34 setTitle(getString(R.string.on_print_job_pending_activity_title)); 35 36 setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 37 getResources().getStringArray(R.array.on_print_job_queued_actions))); 38 getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 39 @Override 40 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 41 switch (position) { 42 case ITEM_INDEX_PRINT_NOW: { 43 MyPrintService.peekInstance().handleQueuedPrintJob(printJobId); 44 finish(); 45 } break; 46 47 case ITEM_INDEX_PRINT_DELAYED: { 48 MyPrintService.peekInstance().handleQueuedPrintJobDelayed(printJobId); 49 finish(); 50 } break; 51 52 case ITEM_INDEX_FAIL_NOW: { 53 MyPrintService.peekInstance().handleFailPrintJob(printJobId); 54 finish(); 55 } break; 56 57 case ITEM_INDEX_FAIL_DELAYED: { 58 MyPrintService.peekInstance().handleFailPrintJobDelayed(printJobId); 59 finish(); 60 } break; 61 62 default: { 63 finish(); 64 } break; 65 } 66 } 67 }); 68 } 69 70 private void createActionTypeOnReqeustCancelPrintJobUi(final int printJobId) { 71 setTitle(getString(R.string.on_cancle_print_job_requested_activity_title)); 72 73 setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 74 getResources().getStringArray(R.array.on_request_cancel_print_job_actions))); 75 getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 76 @Override 77 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 78 switch (position) { 79 case ITEM_INDEX_CANCEL_YES: { 80 MyPrintService.peekInstance().handleRequestCancelPrintJob(printJobId); 81 finish(); 82 } break; 83 84 default: { 85 finish(); 86 } break; 87 } 88 } 89 }); 90 } 91} 92