diff options
-rw-r--r-- | src/com/android/gallery3d/util/PrintJob.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/util/PrintJob.java b/src/com/android/gallery3d/util/PrintJob.java index a593c2d90..bd857738f 100644 --- a/src/com/android/gallery3d/util/PrintJob.java +++ b/src/com/android/gallery3d/util/PrintJob.java @@ -44,16 +44,27 @@ public class PrintJob { // will be <= 300 dpi on A4 (8.3×11.7) paper // with a worst case of 150 dpi private final static int MAX_PRINT_SIZE = 3500; + static Boolean sNoPrint = null; /** * @return true if the system supports print */ public static boolean systemSupportsPrint() { - return (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2); + // TODO change the code to call a support library + if (sNoPrint != null) { + return sNoPrint; + } + try { + Class c = Class.forName("android.print.PrintManager"); + sNoPrint = true; + } catch (ClassNotFoundException e) { + sNoPrint = false; + } + return sNoPrint; } public static void printBitmap(final Context context, final String jobName, - final Bitmap bitmap) { + final Bitmap bitmap) { if (bitmap == null) { return; } @@ -119,7 +130,7 @@ public class PrintJob { fileDescriptor.getFileDescriptor())); // Done. writeResultCallback.onWriteFinished( - new PageRange[] { PageRange.ALL_PAGES }); + new PageRange[]{PageRange.ALL_PAGES}); } catch (IOException ioe) { // Failed. Log.e(LOG_TAG, "Error writing printed content", ioe); |