16fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslavpackage foo.bar.printservice; 26fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 36fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslavimport android.app.ListActivity; 46fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslavimport android.os.Bundle; 5f11598332008fd706ed17be975a0ff73ba7f6a21Svetoslav Ganovimport android.print.PrintJobId; 66fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslavimport android.view.View; 76fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslavimport android.widget.AdapterView; 86fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslavimport android.widget.ArrayAdapter; 96fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 106fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslavpublic class MyDialogActivity extends ListActivity { 116fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 126fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav private static final int ITEM_INDEX_PRINT_NOW = 0; 136fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav private static final int ITEM_INDEX_PRINT_DELAYED = 1; 146fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav private static final int ITEM_INDEX_FAIL_NOW = 2; 156fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav private static final int ITEM_INDEX_FAIL_DELAYED = 3; 163bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov private static final int ITEM_INDEX_BLOCK_NOW = 4; 173bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov private static final int ITEM_INDEX_BLOCK_DELAYED = 5; 183bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov private static final int ITEM_INDEX_BLOCK_AND_DELAYED_UNBLOCK = 6; 196fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 206fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav private static final int ITEM_INDEX_CANCEL_YES = 0; 216fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 226fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav @Override 236fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav protected void onCreate(Bundle savedInstanceState) { 246fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav super.onCreate(savedInstanceState); 256fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 26f11598332008fd706ed17be975a0ff73ba7f6a21Svetoslav Ganov PrintJobId printJobId = getIntent().getParcelableExtra( 27f11598332008fd706ed17be975a0ff73ba7f6a21Svetoslav Ganov MyPrintService.INTENT_EXTRA_PRINT_JOB_ID); 286fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav final int actionType = getIntent().getIntExtra(MyPrintService.INTENT_EXTRA_ACTION_TYPE, 296fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav MyPrintService.ACTION_TYPE_ON_PRINT_JOB_PENDING); 306fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 316fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav if (actionType == MyPrintService.ACTION_TYPE_ON_PRINT_JOB_PENDING) { 326fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav createActionTypeOnPrintJobPendingUi(printJobId); 336fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } else { 346fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav createActionTypeOnReqeustCancelPrintJobUi(printJobId); 356fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 366fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 376fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 38f11598332008fd706ed17be975a0ff73ba7f6a21Svetoslav Ganov private void createActionTypeOnPrintJobPendingUi(final PrintJobId printJobId) { 396fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav setTitle(getString(R.string.on_print_job_pending_activity_title)); 406fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 416fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 426fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav getResources().getStringArray(R.array.on_print_job_queued_actions))); 436fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 446fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav @Override 456fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 466fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav switch (position) { 476fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav case ITEM_INDEX_PRINT_NOW: { 486fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav MyPrintService.peekInstance().handleQueuedPrintJob(printJobId); 496fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav finish(); 506fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } break; 516fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 526fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav case ITEM_INDEX_PRINT_DELAYED: { 536fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav MyPrintService.peekInstance().handleQueuedPrintJobDelayed(printJobId); 546fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav finish(); 556fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } break; 566fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 576fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav case ITEM_INDEX_FAIL_NOW: { 586fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav MyPrintService.peekInstance().handleFailPrintJob(printJobId); 596fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav finish(); 606fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } break; 616fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 626fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav case ITEM_INDEX_FAIL_DELAYED: { 636fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav MyPrintService.peekInstance().handleFailPrintJobDelayed(printJobId); 646fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav finish(); 656fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } break; 666fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 673bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov case ITEM_INDEX_BLOCK_NOW: { 683bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov MyPrintService.peekInstance().handleBlockPrintJob(printJobId); 693bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov finish(); 703bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov } break; 713bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov 723bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov case ITEM_INDEX_BLOCK_DELAYED: { 733bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov MyPrintService.peekInstance().handleBlockPrintJobDelayed(printJobId); 743bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov finish(); 753bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov } break; 763bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov 773bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov case ITEM_INDEX_BLOCK_AND_DELAYED_UNBLOCK: { 783bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov MyPrintService.peekInstance().handleBlockAndDelayedUnblockPrintJob( 793bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov printJobId); 803bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov finish(); 813bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov } break; 823bb4d60425207dad4241d0565ff0c4a20dca119dSvetoslav Ganov 836fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav default: { 846fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav finish(); 856fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } break; 866fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 876fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 886fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav }); 896fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 906fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 91f11598332008fd706ed17be975a0ff73ba7f6a21Svetoslav Ganov private void createActionTypeOnReqeustCancelPrintJobUi(final PrintJobId printJobId) { 926fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav setTitle(getString(R.string.on_cancle_print_job_requested_activity_title)); 936fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 946fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 956fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav getResources().getStringArray(R.array.on_request_cancel_print_job_actions))); 966fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 976fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav @Override 986fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 996fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav switch (position) { 1006fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav case ITEM_INDEX_CANCEL_YES: { 1016fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav MyPrintService.peekInstance().handleRequestCancelPrintJob(printJobId); 1026fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav finish(); 1036fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } break; 1046fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav 1056fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav default: { 1066fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav finish(); 1076fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } break; 1086fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 1096fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 1106fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav }); 1116fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav } 1126fc52023a04fe45b6f59212fc716cbbcf76f35fcSvetoslav} 113