summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/util
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-08-19 16:21:12 -0700
committernicolasroard <nicolasroard@google.com>2013-08-19 17:17:36 -0700
commit513eb24fe6b9376ce41bff0abc53d6d14daf8325 (patch)
treed1f86d4bae566f2b33006c3fd388efd5452551f1 /src/com/android/gallery3d/util
parentf29cc45abb96754e954d56673e3a959d8bb9787e (diff)
downloadandroid_packages_apps_Gallery2-513eb24fe6b9376ce41bff0abc53d6d14daf8325.tar.gz
android_packages_apps_Gallery2-513eb24fe6b9376ce41bff0abc53d6d14daf8325.tar.bz2
android_packages_apps_Gallery2-513eb24fe6b9376ce41bff0abc53d6d14daf8325.zip
Add printing to Gallery
Change-Id: I26aad645759f95813003badffbd03845e0df37bb
Diffstat (limited to 'src/com/android/gallery3d/util')
-rw-r--r--src/com/android/gallery3d/util/PrintJob.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/util/PrintJob.java b/src/com/android/gallery3d/util/PrintJob.java
index d06466a21..f4bbda189 100644
--- a/src/com/android/gallery3d/util/PrintJob.java
+++ b/src/com/android/gallery3d/util/PrintJob.java
@@ -18,9 +18,11 @@ package com.android.gallery3d.util;
import android.content.Context;
import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.Rect;
import android.graphics.RectF;
+import android.net.Uri;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.print.PageRange;
@@ -29,13 +31,20 @@ import android.print.PrintDocumentAdapter;
import android.print.PrintDocumentInfo;
import android.print.PrintManager;
import android.print.pdf.PdfDocument;
+import com.android.gallery3d.app.AbstractGalleryActivity;
+import com.android.gallery3d.filtershow.cache.ImageLoader;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
import java.io.FileDescriptor;
import java.io.FileOutputStream;
public class PrintJob {
+ private final static int MAX_PRINT_SIZE = 2048;
+
public static void printBitmap(Context context, final String jobName, final Bitmap bitmap) {
+ if (bitmap == null) {
+ return;
+ }
PrintManager printManager = (PrintManager) context.getSystemService(Context.PRINT_SERVICE);
android.print.PrintJob printJob = printManager.print(jobName,
new PrintDocumentAdapter() {
@@ -95,4 +104,9 @@ public class PrintJob {
}
+ public static void printBitmapAtUri(Context context, String imagePrint, Uri uri) {
+ // TODO: load full size images. For now, it's better to constrain ourselves.
+ Bitmap bitmap = ImageLoader.loadConstrainedBitmap(uri, context, MAX_PRINT_SIZE, null, false);
+ printBitmap(context, imagePrint, bitmap);
+ }
}