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

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

Issue 184343013: Add a method to query whether printing is active. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed code review Created 6 years, 9 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
« no previous file with comments | « printing/android/java/src/org/chromium/printing/PrintingController.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java
diff --git a/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java b/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java
index 76bab4b4124f0d5306bff5a660ef0d44efb776e3..b0daaeffb1266a8ace245f819b85933ce61da40c 100644
--- a/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java
+++ b/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java
@@ -45,8 +45,6 @@ public class PrintingControllerImpl implements PrintingController, PdfGenerator
private final String mErrorMessage;
- private final PrintManagerDelegate mPrintManager;
-
private PrintingContextInterface mPrintingContext;
/** The file descriptor into which the PDF will be written. Provided by the framework. */
@@ -86,10 +84,10 @@ public class PrintingControllerImpl implements PrintingController, PdfGenerator
/** Total number of pages to print with initial print dialog settings. */
private int mLastKnownMaxPages = PrintDocumentInfo.PAGE_COUNT_UNKNOWN;
- private PrintingControllerImpl(PrintManagerDelegate printManager,
- PrintDocumentAdapterWrapper printDocumentAdapterWrapper,
+ private boolean mIsBusy = false;
+
+ private PrintingControllerImpl(PrintDocumentAdapterWrapper printDocumentAdapterWrapper,
String errorText) {
- mPrintManager = printManager;
mErrorMessage = errorText;
mPrintDocumentAdapterWrapper = printDocumentAdapterWrapper;
mPrintDocumentAdapterWrapper.setPdfGenerator(this);
@@ -107,13 +105,12 @@ public class PrintingControllerImpl implements PrintingController, PdfGenerator
* doesn't need any string dependency.
* @return The resulting PrintingController.
*/
- public static PrintingController create(PrintManagerDelegate printManager,
+ public static PrintingController create(
PrintDocumentAdapterWrapper printDocumentAdapterWrapper, String errorText) {
ThreadUtils.assertOnUiThread();
if (sInstance == null) {
- sInstance = new PrintingControllerImpl(printManager,
- printDocumentAdapterWrapper, errorText);
+ sInstance = new PrintingControllerImpl(printDocumentAdapterWrapper, errorText);
}
return sInstance;
}
@@ -161,14 +158,21 @@ public class PrintingControllerImpl implements PrintingController, PdfGenerator
}
@Override
+ public boolean isBusy() {
+ return mIsBusy;
+ }
+
+ @Override
public void setPrintingContext(final PrintingContextInterface printingContext) {
mPrintingContext = printingContext;
}
@Override
- public void startPrint(final Printable printable) {
+ public void startPrint(final Printable printable, PrintManagerDelegate printManager) {
+ if (mIsBusy) return;
+ mIsBusy = true;
mPrintable = printable;
- mPrintDocumentAdapterWrapper.print(mPrintManager, printable.getTitle());
+ mPrintDocumentAdapterWrapper.print(printManager, printable.getTitle());
}
@Override
@@ -323,6 +327,9 @@ public class PrintingControllerImpl implements PrintingController, PdfGenerator
mFileDescriptor = -1;
resetCallbacks();
+ // The printmanager contract is that onFinish() is always called as the last
+ // callback. We set busy to false here.
+ mIsBusy = false;
}
private void resetCallbacks() {
« no previous file with comments | « printing/android/java/src/org/chromium/printing/PrintingController.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698