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