Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Unified Diff: printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java

Issue 1338333002: Add checks for android printing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated test. It still is kind of flaky (2/30, the print dialog comes up -> timeout), but no crash Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java
diff --git a/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java b/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java
index 0fd13ecfca662cd16d00ea0508bb8b127a5a81ef..7cdaeaef43777aa491954a7f1c31bbf9fec96592 100644
--- a/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java
+++ b/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java
@@ -9,13 +9,22 @@
import android.os.Build;
import android.print.PrintAttributes;
import android.print.PrintDocumentAdapter;
+import android.print.PrintJob;
+import android.print.PrintJobInfo;
import android.print.PrintManager;
+import android.text.TextUtils;
+
+import org.chromium.base.Log;
+import org.chromium.base.annotations.RemovableInRelease;
+
+import java.util.List;
/**
* An implementation of {@link PrintManagerDelegate} using the Android framework print manager.
*/
@TargetApi(Build.VERSION_CODES.KITKAT)
public class PrintManagerDelegateImpl implements PrintManagerDelegate {
+ private static final String TAG = "cr.printing";
private final PrintManager mPrintManager;
public PrintManagerDelegateImpl(Context context) {
@@ -25,7 +34,45 @@ public PrintManagerDelegateImpl(Context context) {
@Override
public void print(String printJobName, PrintDocumentAdapter documentAdapter,
PrintAttributes attributes) {
+ dumpJobStatesForDebug();
mPrintManager.print(printJobName, documentAdapter, attributes);
}
+ @RemovableInRelease
+ private void dumpJobStatesForDebug() {
+ List<PrintJob> printJobs = mPrintManager.getPrintJobs();
+ String[] states = new String[printJobs.size()];
+
+ for (int i = 0; i < printJobs.size(); i++) {
+ String stateString;
+ switch (printJobs.get(i).getInfo().getState()) {
+ case PrintJobInfo.STATE_CREATED:
+ stateString = "STATE_CREATED";
+ break;
+ case PrintJobInfo.STATE_QUEUED:
+ stateString = "STATE_QUEUED";
+ break;
+ case PrintJobInfo.STATE_STARTED:
+ stateString = "STATE_STARTED";
+ break;
+ case PrintJobInfo.STATE_BLOCKED:
+ stateString = "STATE_BLOCKED";
+ break;
+ case PrintJobInfo.STATE_FAILED:
+ stateString = "STATE_FAILED";
+ break;
+ case PrintJobInfo.STATE_COMPLETED:
+ stateString = "STATE_COMPLETED";
+ break;
+ case PrintJobInfo.STATE_CANCELED:
+ stateString = "STATE_CANCELED";
+ break;
+ default:
+ stateString = "STATE_UNKNOWN";
+ break;
+ }
+ states[i] = stateString;
+ }
+ Log.v(TAG, "Initiating new print with states in queue: {%s}", TextUtils.join(", ", states));
+ }
}
« no previous file with comments | « chrome/browser/printing/print_job_worker.cc ('k') | printing/android/java/src/org/chromium/printing/PrintingContext.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698