Merge "Handle printers selected by SelectPrinter activity" into nyc-dev

This commit is contained in:
Philip P. Moltmann
2016-05-18 15:24:20 +00:00
committed by Android (Google) Code Review

View File

@@ -718,6 +718,9 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
SelectPrinterActivity.INTENT_EXTRA_PRINTER); SelectPrinterActivity.INTENT_EXTRA_PRINTER);
if (printerInfo != null) { if (printerInfo != null) {
mCurrentPrinter = printerInfo; mCurrentPrinter = printerInfo;
mPrintJob.setPrinterId(printerInfo.getId());
mPrintJob.setPrinterName(printerInfo.getName());
mDestinationSpinnerAdapter.ensurePrinterInVisibleAdapterPosition(printerInfo); mDestinationSpinnerAdapter.ensurePrinterInVisibleAdapterPosition(printerInfo);
} }
} }
@@ -1964,7 +1967,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
} }
public void onPrinterAvailable(PrinterInfo printer) { public void onPrinterAvailable(PrinterInfo printer) {
if (mCurrentPrinter.equals(printer)) { if (mCurrentPrinter != null && mCurrentPrinter.equals(printer)) {
setState(STATE_CONFIGURING); setState(STATE_CONFIGURING);
if (canUpdateDocument()) { if (canUpdateDocument()) {
updateDocument(false); updateDocument(false);
@@ -2459,12 +2462,15 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
PrinterHolder printerHolder = mPrinterHolders.get(i); PrinterHolder printerHolder = mPrinterHolders.get(i);
PrinterId oldPrinterId = printerHolder.printer.getId(); PrinterId oldPrinterId = printerHolder.printer.getId();
PrinterInfo updatedPrinter = newPrintersMap.remove(oldPrinterId); PrinterInfo updatedPrinter = newPrintersMap.remove(oldPrinterId);
if (updatedPrinter != null) { if (updatedPrinter != null) {
printerHolder.printer = updatedPrinter; printerHolder.printer = updatedPrinter;
printerHolder.removed = false; printerHolder.removed = false;
onPrinterAvailable(printerHolder.printer);
newPrinterHolders.add(printerHolder); newPrinterHolders.add(printerHolder);
} else if (mCurrentPrinter != null && mCurrentPrinter.getId().equals(oldPrinterId)){ } else if (mCurrentPrinter != null && mCurrentPrinter.getId().equals(oldPrinterId)){
printerHolder.removed = true; printerHolder.removed = true;
onPrinterUnavailable(printerHolder.printer);
newPrinterHolders.add(printerHolder); newPrinterHolders.add(printerHolder);
} }
} }