package foo.bar.printservice;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.print.PageRange;
import android.print.PrintAttributes;
import android.print.PrintAttributes.MediaSize;
import android.print.PrintJobInfo;
import android.print.PrinterCapabilitiesInfo;
import android.print.PrinterInfo;
import android.printservice.PrintService;
public class CustomPrintOptionsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onResume() {
super.onResume();
PrintJobInfo printJobInfo = (PrintJobInfo) getIntent().getParcelableExtra(
PrintService.EXTRA_PRINT_JOB_INFO);
PrinterInfo printerInfo = (PrinterInfo) getIntent().getParcelableExtra(
"android.intent.extra.print.EXTRA_PRINTER_INFO");
PrinterCapabilitiesInfo capabilities = printerInfo.getCapabilities();
PrintAttributes attributes = new PrintAttributes.Builder()
.setColorMode(PrintAttributes.COLOR_MODE_MONOCHROME)
.setMediaSize(MediaSize.ISO_A5)
.setResolution(capabilities.getResolutions().get(0))
.build();
PrintJobInfo.Builder builder = new PrintJobInfo.Builder(printJobInfo);
builder.setAttributes(attributes);
builder.setCopies(2);
builder.setAttributes(attributes);
builder.setPages(new PageRange[] {new PageRange(1, 1), new PageRange(3, 3)});
builder.putAdvancedOption("EXTRA_FIRST_ADVANCED_OPTION", "OPALA");
builder.putAdvancedOption("EXTRA_SECOND_ADVANCED_OPTION", 1);
PrintJobInfo newPrintJobInfo = builder.build();
Intent result = new Intent();
result.putExtra(PrintService.EXTRA_PRINT_JOB_INFO, newPrintJobInfo);
setResult(Activity.RESULT_OK, result);
finish();
}
}