summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
index 241581d91d4f..be3df54e12ae 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
@@ -718,6 +718,9 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
SelectPrinterActivity.INTENT_EXTRA_PRINTER);
if (printerInfo != null) {
mCurrentPrinter = printerInfo;
+ mPrintJob.setPrinterId(printerInfo.getId());
+ mPrintJob.setPrinterName(printerInfo.getName());
+
mDestinationSpinnerAdapter.ensurePrinterInVisibleAdapterPosition(printerInfo);
}
}
@@ -1964,7 +1967,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
}
public void onPrinterAvailable(PrinterInfo printer) {
- if (mCurrentPrinter.equals(printer)) {
+ if (mCurrentPrinter != null && mCurrentPrinter.equals(printer)) {
setState(STATE_CONFIGURING);
if (canUpdateDocument()) {
updateDocument(false);
@@ -2459,12 +2462,15 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
PrinterHolder printerHolder = mPrinterHolders.get(i);
PrinterId oldPrinterId = printerHolder.printer.getId();
PrinterInfo updatedPrinter = newPrintersMap.remove(oldPrinterId);
+
if (updatedPrinter != null) {
printerHolder.printer = updatedPrinter;
printerHolder.removed = false;
+ onPrinterAvailable(printerHolder.printer);
newPrinterHolders.add(printerHolder);
} else if (mCurrentPrinter != null && mCurrentPrinter.getId().equals(oldPrinterId)){
printerHolder.removed = true;
+ onPrinterUnavailable(printerHolder.printer);
newPrinterHolders.add(printerHolder);
}
}