192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslavpackage foo.bar.printservice; 292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslavimport android.app.ListActivity; 492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslavimport android.os.Bundle; 5d71923289a0709ab46a5f1ea525eb1f998ba0ea5Svetoslav Ganovimport android.print.PrintJobId; 692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslavimport android.view.View; 792ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslavimport android.widget.AdapterView; 892ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslavimport android.widget.ArrayAdapter; 992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 1092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslavpublic class MyDialogActivity extends ListActivity { 1192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 1292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav private static final int ITEM_INDEX_PRINT_NOW = 0; 1392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav private static final int ITEM_INDEX_PRINT_DELAYED = 1; 1492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav private static final int ITEM_INDEX_FAIL_NOW = 2; 1592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav private static final int ITEM_INDEX_FAIL_DELAYED = 3; 16d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov private static final int ITEM_INDEX_BLOCK_NOW = 4; 17d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov private static final int ITEM_INDEX_BLOCK_DELAYED = 5; 18d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov private static final int ITEM_INDEX_BLOCK_AND_DELAYED_UNBLOCK = 6; 1992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 2092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav private static final int ITEM_INDEX_CANCEL_YES = 0; 2192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 2292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav @Override 2392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav protected void onCreate(Bundle savedInstanceState) { 2492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav super.onCreate(savedInstanceState); 2592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 26d71923289a0709ab46a5f1ea525eb1f998ba0ea5Svetoslav Ganov PrintJobId printJobId = getIntent().getParcelableExtra( 27d71923289a0709ab46a5f1ea525eb1f998ba0ea5Svetoslav Ganov MyPrintService.INTENT_EXTRA_PRINT_JOB_ID); 2892ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav final int actionType = getIntent().getIntExtra(MyPrintService.INTENT_EXTRA_ACTION_TYPE, 2992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav MyPrintService.ACTION_TYPE_ON_PRINT_JOB_PENDING); 3092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 3192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav if (actionType == MyPrintService.ACTION_TYPE_ON_PRINT_JOB_PENDING) { 3292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav createActionTypeOnPrintJobPendingUi(printJobId); 3392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } else { 3492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav createActionTypeOnReqeustCancelPrintJobUi(printJobId); 3592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 3692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 3792ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 38d71923289a0709ab46a5f1ea525eb1f998ba0ea5Svetoslav Ganov private void createActionTypeOnPrintJobPendingUi(final PrintJobId printJobId) { 3992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav setTitle(getString(R.string.on_print_job_pending_activity_title)); 4092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 4192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 4292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav getResources().getStringArray(R.array.on_print_job_queued_actions))); 4392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 4492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav @Override 4592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 4692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav switch (position) { 4792ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav case ITEM_INDEX_PRINT_NOW: { 4892ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav MyPrintService.peekInstance().handleQueuedPrintJob(printJobId); 4992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav finish(); 5092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } break; 5192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 5292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav case ITEM_INDEX_PRINT_DELAYED: { 5392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav MyPrintService.peekInstance().handleQueuedPrintJobDelayed(printJobId); 5492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav finish(); 5592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } break; 5692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 5792ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav case ITEM_INDEX_FAIL_NOW: { 5892ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav MyPrintService.peekInstance().handleFailPrintJob(printJobId); 5992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav finish(); 6092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } break; 6192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 6292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav case ITEM_INDEX_FAIL_DELAYED: { 6392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav MyPrintService.peekInstance().handleFailPrintJobDelayed(printJobId); 6492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav finish(); 6592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } break; 6692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 67d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov case ITEM_INDEX_BLOCK_NOW: { 68d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov MyPrintService.peekInstance().handleBlockPrintJob(printJobId); 69d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov finish(); 70d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov } break; 71d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov 72d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov case ITEM_INDEX_BLOCK_DELAYED: { 73d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov MyPrintService.peekInstance().handleBlockPrintJobDelayed(printJobId); 74d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov finish(); 75d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov } break; 76d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov 77d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov case ITEM_INDEX_BLOCK_AND_DELAYED_UNBLOCK: { 78d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov MyPrintService.peekInstance().handleBlockAndDelayedUnblockPrintJob( 79d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov printJobId); 80d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov finish(); 81d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov } break; 82d4749f7e87021f43fb9b93c7cececd1c25a640a2Svetoslav Ganov 8392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav default: { 8492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav finish(); 8592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } break; 8692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 8792ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 8892ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav }); 8992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 9092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 91d71923289a0709ab46a5f1ea525eb1f998ba0ea5Svetoslav Ganov private void createActionTypeOnReqeustCancelPrintJobUi(final PrintJobId printJobId) { 9292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav setTitle(getString(R.string.on_cancle_print_job_requested_activity_title)); 9392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 9492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 9592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav getResources().getStringArray(R.array.on_request_cancel_print_job_actions))); 9692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 9792ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav @Override 9892ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 9992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav switch (position) { 10092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav case ITEM_INDEX_CANCEL_YES: { 10192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav MyPrintService.peekInstance().handleRequestCancelPrintJob(printJobId); 10292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav finish(); 10392ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } break; 10492ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav 10592ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav default: { 10692ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav finish(); 10792ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } break; 10892ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 10992ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 11092ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav }); 11192ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav } 11292ee8105683fe2c1483e8e2cb10e6be3e762f9f5Svetoslav} 113