tree 9a919b2d64c469e11d94d6205d44cdd9ab553802
parent 85b1f883056a1d74473fd9ce774948878f389ab6
author Svetoslav Ganov <svetoslavganov@google.com> 1375316713 -0700
committer Svetoslav Ganov <svetoslavganov@google.com> 1375322393 -0700

Iteration of the print sub-system.

1. Added APIs for adding partially initialized PrintInfo objects
   enabling light-weight lookps for print serivces that want to
   populate the list of available printers without querying each
   of them for its capabilities. This includes APIs for the system
   to request from a print service to update certain printers.

2. Fixed a bug in PrinterId#equals().

3. Added equals and hasCode implementaion to PrinterInfo. Also
   the defaul in PrinterInfo are now an array instead of a
   SparseArray - cheaper.

4. Now PrintJobConfigActivity works with partially specified
   printers. Specifically, if such a printer is selected the
   activity is requesting from the print service to update
   the printer. We are currently not handling the timeout case.
   It also handles udpated pritners.

Change-Id: I5e83e924ef597c9e22cbd06a971d4f4d3bd3a9c1
