summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java15
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()) {