Home | History | Annotate | Download | only in printservice
      1 package foo.bar.printservice;
      2 
      3 import android.app.Activity;
      4 import android.content.Intent;
      5 import android.os.Bundle;
      6 import android.os.Handler;
      7 import android.print.PageRange;
      8 import android.print.PrintAttributes;
      9 import android.print.PrintAttributes.MediaSize;
     10 import android.print.PrintJobInfo;
     11 import android.print.PrinterCapabilitiesInfo;
     12 import android.print.PrinterInfo;
     13 import android.printservice.PrintService;
     14 
     15 public class CustomPrintOptionsActivity extends Activity {
     16 
     17     @Override
     18     protected void onCreate(Bundle savedInstanceState) {
     19         super.onCreate(savedInstanceState);
     20     }
     21 
     22     @Override
     23     public void onResume() {
     24         super.onResume();
     25 
     26         PrintJobInfo printJobInfo = (PrintJobInfo) getIntent().getParcelableExtra(
     27                 PrintService.EXTRA_PRINT_JOB_INFO);
     28         PrinterInfo printerInfo = (PrinterInfo) getIntent().getParcelableExtra(
     29                 "android.intent.extra.print.EXTRA_PRINTER_INFO");
     30 
     31         PrinterCapabilitiesInfo capabilities = printerInfo.getCapabilities();
     32 
     33         PrintAttributes attributes = new PrintAttributes.Builder()
     34                 .setColorMode(PrintAttributes.COLOR_MODE_MONOCHROME)
     35                 .setMediaSize(MediaSize.ISO_A5)
     36                 .setResolution(capabilities.getResolutions().get(0))
     37                 .build();
     38 
     39         PrintJobInfo.Builder builder = new PrintJobInfo.Builder(printJobInfo);
     40         builder.setAttributes(attributes);
     41         builder.setCopies(2);
     42         builder.setAttributes(attributes);
     43         builder.setPages(new PageRange[] {new PageRange(1, 1), new PageRange(3, 3)});
     44         builder.putAdvancedOption("EXTRA_FIRST_ADVANCED_OPTION", "OPALA");
     45         builder.putAdvancedOption("EXTRA_SECOND_ADVANCED_OPTION", 1);
     46 
     47         PrintJobInfo newPrintJobInfo = builder.build();
     48 
     49         Intent result = new Intent();
     50         result.putExtra(PrintService.EXTRA_PRINT_JOB_INFO, newPrintJobInfo);
     51         setResult(Activity.RESULT_OK, result);
     52 
     53         finish();
     54     }
     55 }
     56