diff options
-rw-r--r-- | packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java index a8c4f07..3ee1a64 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java +++ b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java @@ -1247,6 +1247,21 @@ public class PrintJobConfigActivity extends Activity { return; } + // If the current printer became unavailable or its + // capabilities go away, we update the UI and add a + // timeout to declare the printer as unavailable. + if ((mCurrentPrinter.getStatus() != PrinterInfo.STATUS_UNAVAILABLE + && printer.getStatus() == PrinterInfo.STATUS_UNAVAILABLE) + || (mCurrentPrinter.getCapabilities() != null + && printer.getCapabilities() == null)) { + if (!mCapabilitiesTimeout.isPosted()) { + mCapabilitiesTimeout.post(); + mCurrentPrinter.copyFrom(printer); + updateUi(); + return; + } + } + // We just refreshed the current printer. if (printer.getCapabilities() != null && mCapabilitiesTimeout.isPosted()) { |