5772b5c671a13d9c4bbc1e3803667166f811cb33 |
|
11-Jun-2015 |
Svet Ganov <svetoslavganov@google.com> |
Propagete document meta-data to custom print UI. Change-Id: I3f122224e1b311a222969253ae0336177989a414
/frameworks/base/core/java/android/printservice/PrintService.java
|
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac |
|
28-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Remove unused imports in frameworks/base. Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/printservice/PrintService.java
|
0d9ada9fdd1a609ded3fed4328021a5fe26d898d |
|
06-Feb-2015 |
Narayan Kamath <narayan@google.com> |
Fix breakages in update-api. doc-comment-check was failing because a couple of javadoc comments didn't fully qualify R.java's classname where required. Change-Id: Id0445827e438fd4c1d6e4e9793a00a6cc9f59d3c
/frameworks/base/core/java/android/printservice/PrintService.java
|
712a02050e7be4479f12a81aeb23d7217b8d7a8d |
|
29-Dec-2014 |
Narayan Kamath <narayan@google.com> |
Merge "Correct a mistyped word "MSG_SET_CLEINT" to "MSG_SET_CLIENT""
|
8fbd0dc30328338cb7a6675ce7e0fe48a7815e1b |
|
14-Jul-2014 |
Svet Ganov <svetoslavganov@google.com> |
Correct printer extra constant value. We are passing the current printer to the custom print options activity. Before we were using a constant specified in the java docs as it was added past API change was possible. For this release a constant is defined but its value was wrong and clients using the old (correct) value could not look up the printer extra. bug:16291822 Change-Id: Iaff6728865690caa8aaaa49a5911009d9f099148
/frameworks/base/core/java/android/printservice/PrintService.java
|
a798c0a984f29f7180883a61839f68d2cbf0c6ce |
|
15-May-2014 |
Svetoslav <svetoslavganov@google.com> |
Refactor printing Change-Id: I19850154ef2798afff511e4490a268ce38e8cbae
/frameworks/base/core/java/android/printservice/PrintService.java
|
eae626fd8c9ecb91c43ccb1dda050de52f9795c0 |
|
06-Feb-2014 |
jangwon.lee <jangwon.lee@lge.com> |
Correct a mistyped word "MSG_SET_CLEINT" to "MSG_SET_CLIENT" "MSG_SET_CLEINT" is mistyped, so correct it. Change-Id: Ib5eeaf7071e95db8b2375ca09d10420a5a445543
/frameworks/base/core/java/android/printservice/PrintService.java
|
b4fda134761c9521a7e127db3806a07a18763b77 |
|
26-Oct-2013 |
Svetoslav <svetoslavganov@google.com> |
Complete implementation of the advanced print options. 1. Implemented the advanced printer options integration. Now a print service may declare an advanced print options activity which may be launched by the user if the current printer supports advanced print options. These options are visible only to the print service that added them and it is the only party that will interpret the options. 2. Fixed a couple of bugs in the saved print jobs parsing. One was that if there are more than one page range, a half of the print job properties was not properly parsed. The other was that the media size constructor was using incorrect argument order, thus creating a media size with wring width. 3. Fixed and edge case where old print jobs and their docs can get stuck in the spooler. If the app did not write the requested pages we were not showing an error message, rather just finish the activity without canceling the print job and this print job is stuck in the spooler. Now we show an error message and the user may retry, cancel. If the user cancels the print job is also cancelled, thus no leftover in the spooler. 4. Fixed the background color of the print dialog to meet UX spec. bug:11241800 Change-Id: I352440bc86aec824a805883fc9579d96a06d11e6
/frameworks/base/core/java/android/printservice/PrintService.java
|
1c43fceaaa5f9aa6e29e2670f44f312632241007 |
|
16-Oct-2013 |
Svetoslav <svetoslavganov@google.com> |
Add APIs for an advanced print options activity. This is the API part needed to implement support for custom print options by a print service. Some printers have quite fancy options and we want users to benefit using them. bug:11241800 Change-Id: I3a9df771c0ded559b61c597c686795840d702b27
/frameworks/base/core/java/android/printservice/PrintService.java
|
b5f180608db6de123b54ae94de569ff1ebca705c |
|
24-Sep-2013 |
Svetoslav <svetoslavganov@google.com> |
Multiple printer discovery session instances and other bugs. 1. The fused printers provider was dropping on the floor received printers if it was not active. It is in fact a loaded and if not active it should compute the printers and not deliver them until activated. This fixes an issue where opening the print dialog, then enabling a print service results in the printers reported by the service not showing up in the print dialog. 2. Printer discovery session was created twice which leads to incorrect behavior as the pint system is designed around the contract that there is a single printer discovery session per service at a time. This was possible due to an incorrect initialization of a member variable resulting in double session creation when the print service is connected. 3. When a print service is enabled during discovery we did not use the correct condition to start printer discovery resulting in starting it all the time even if not needed. Also if some of the printers that had to be tracked are reported by the service just enabled (typically historical printers) we did not ask the service to start tracking them. 4. Removed some logging. bug:10903343 Change-Id: I46c049471a4b099fc668df3aee2aaedc8d7786ac
/frameworks/base/core/java/android/printservice/PrintService.java
|
860f8a6b663ca96d30d17da09eca8caf065aae62 |
|
14-Sep-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Spooler should not crash if print service config activities are not exported. 1. If a print service does not export its activities for settings and adding printers the print spooler ignores them instead of crashing. Also if the service is not enabled its activities are now ignored. 2. Added a dedicated permission for a print service to optionally protect its settings and add printer activities such that only the system can bind to them. 3. Fixed a crash in the print dialog if its content is detached from the window and animators are running. bug:10680224 Change-Id: I20b57d6622a15f9b2352ba78d04c44e67b316a15
/frameworks/base/core/java/android/printservice/PrintService.java
|
c6066799ad130140159230d14451b429eb828755 |
|
11-Sep-2013 |
Svetoslav <svetoslavganov@google.com> |
Handle print serivce crashes. 1. Now after a print service crashes we are bringing it to the same state of its lifecycle. For example, if a service does a discovery and crashes we recreate the discovery session call the start discovery method and so on. 2. Turned off debugging logs since we have fully fledged state dump. bug:10697779 Change-Id: Id790537461428e96b197eef12258996bda2bd1ce
/frameworks/base/core/java/android/printservice/PrintService.java
|
b669917825a49421ee79be4819ead765f5de8aae |
|
08-Sep-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Add dumping the state of the print sub-system. Being able to dump the state of the print sub-system especially when taking a bugreport is very useful for bug fixing and observing whether the print system operates properly. bug:10659019 Change-Id: Id098b788f474ab17766966a4563ffdfc0171c76b
/frameworks/base/core/java/android/printservice/PrintService.java
|
d26d4898fcc9b78f4b66118895c375384098205e |
|
28-Aug-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Print spooler security and some new print service facing APIs. 1. Updated the security mode of the print spooler. Now the spooler is not signed with the system key, it is not a privileged app so if it gets compromised (PDF rendering is a potential attack vector) it cannot access dangerous permissions. Also only the system can bind to the spooler. 2. Added APIs for asking a print service to start and stop tracking a given printer. This is need for the case when the user selects the printer and the print service should do a best effort to keep the system updated for the current state of the printer. 3. Added APIs for putting a print job in a blocked state. A print service would report the print job as blocked if for some reason the printer cannot proceed, e.g. 99 pages are printed but there is no paper for the last one. The user has to add more paper and the print service can resume the job. 4. Changed the read/write APIs to use ParcelFileDescriptor instead of FileDescriptor since the latter does not have a clean API for detaching the wrapped Linux file descriptor when one wants to push it to native. 5. Added API for getting the size of the printed document so the print service can avoid handling big filed over cellular network or ask the user if needed. 6. Now the print services that are preinstalled on the system image are automatically enabled. Change-Id: Ia06c311d3d21cabb9e1368f13928e11cd0030918
/frameworks/base/core/java/android/printservice/PrintService.java
|
3bf7976e78d69310b67f4f19f49b2eb839252b67 |
|
21-Aug-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Fix build Change-Id: Iff815dd264008c005995ab8a95b442dad7aca18e
/frameworks/base/core/java/android/printservice/PrintService.java
|
269403b032f965ff3847eb982c2f697229dc5a92 |
|
15-Aug-2013 |
Svetoslav <svetoslavganov@google.com> |
Implemented advanced printer selection and API refactoring. 1. Added past printer history tracking and merging favorite printers with discovered printers. 2. Added save as PDF support. 3. Added all printers activity with search capability and optional add printers chooser (if any print service provides add printers activity) 4. Refactored the printer discovery session APIs. Now one session can have multiple window discovery windows and the session stores the printers found during past discovery periods. 5. Merged the print spooler and the print spooler service - much simpler and easier to maintain. Change-Id: I4830b0eb6367e1c748b768a5ea9ea11baf36cfad
/frameworks/base/core/java/android/printservice/PrintService.java
|
798bed6cc7d273e72b0253288605db9cd2b57740 |
|
11-Aug-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Refinement of the print service APIs. 1. Factored out the printer discovery APIs of a print service in a dedicated session object that is created by the print service on demand. This ensures that added/removed/updated printers from one session do not interfere with another session. 2. Updated the app facing APIs to pass in a document info along with a printed file. Also exposed the print file adapter so apps that create a temporary file for printing can intercept when it is read by the system so the file can be deleted. 3. Updated the print service documentation. Change-Id: I3473d586c26d8bda1cf7e2bdacb441aa9df982ed
/frameworks/base/core/java/android/printservice/PrintService.java
|
8c43376ea83a67414bd6823a472b76d41160239e |
|
02-Aug-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
First cut of the print notifications. 1. Added notifications for a queued print job, for a started print job, for ongoing canceling a print job, and for a failed print job. The notifications for queued and started state have a cancel action. The notification for failed print job has a cancel and a restart action. 2. Propagating failure message from the print service to the notifications. 3. PrintJobConfigActivity was not setting the initial value for the print job copies and was not updating the UI immediately after creation. 4. Refactored PrintJobConfigActivity to avoid using the hack to avoid reaction for item selection change in a spinner for an event that happened before the callback was registered. 5. Removed the label attribute from PrinterInfo and now PrinterId is composed of the printer name and the service component name. This is nice since for restarting print jobs we do not need to store information about the printer except the printer id which is already part of the PrintJobInfo's data. Also the printer name is not expected to change anyway. 6. Allowing cancellation of a queued print job. Also no print job is cancelled without asking the managing print service to do that. Before we were immediately canceling print jobs in queued state but it was possible for a buggy print service to not set the print job state to started before starting to do expensive work that will not be canceled. 7. PrintServiceInfo was throwing an exception the the meta-data XML for the print service was not well-formed which would crash the system process. Now we just ignore not well-formed meta-data. 8. Removed unused permissions from the PrintSpooler's manifest. Change-Id: Iba2dd14b487f56e137b90d1da17c3033422ab5e6
/frameworks/base/core/java/android/printservice/PrintService.java
|
55b409a97cf6376399a0940313ea852368727d6f |
|
01-Aug-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
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
/frameworks/base/core/java/android/printservice/PrintService.java
|
597945fd3a6b52ac70bb9afc5ec8c59039fffd77 |
|
18-Jul-2013 |
Svetoslav <svetoslavganov@google.com> |
First pass of the print dialog UX Change-Id: I315a16d7f68c73ca180c76e722847b4b1bdea55b
/frameworks/base/core/java/android/printservice/PrintService.java
|
a00271533f639c8ed36429c663889ac9f654bc72 |
|
25-Jun-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Refactoring of the print sub-system and API clean up. 1. Now a user state has ins own spooler since the spooler app is running per user. The user state registers an observer for the state of the spooler to get information needed to orchestrate unbinding from print serivces that have no work and eventually unbinding from the spooler when all no service has any work. 2. Abstracted a remote print service from the perspective of the system in a class that is transparently managing binding and unbinding to the remote instance. 3. Abstracted the remote print spooler to transparently manage binding and unbinding to the remote instance when there is work and when there is no work, respectively. 4. Cleaned up the print document adapter (ex-PrintAdapter) APIs to enable implementing the all callbacks on a thread of choice. If the document is really small, using the main thread makes sense. Now if an app that does not need the UI state to layout the printed content, it can schedule all the work for allocating resources, laying out, writing, and releasing resources on a dedicated thread. 5. Added info class for the printed document that is now propagated the the print services. A print service gets an instance of a new document class that encapsulates the document info and a method to access the document's data. 6. Added APIs for describing the type of a document to the new document info class. This allows a print service to do smarts based on the doc type. For now we have only photo and document types. 7. Renamed the systemReady method for system services that implement it with different semantics to systemRunning. Such methods assume the the service can run third-party code which is not the same as systemReady. 8. Cleaned up the print job configuration activity. 9. Sigh... code clean up here and there. Factoring out classes to improve readability. Change-Id: I637ba28412793166cbf519273fdf022241159a92
/frameworks/base/core/java/android/printservice/PrintService.java
|
fd90651cfcc7e2b75254666fd6861038b72fb4ac |
|
24-Jun-2013 |
Svetoslav <svetoslavganov@google.com> |
Print APIs documentation update Change-Id: I0df438e45ef540cc42c9ee5baafc816ebafa1c7b
/frameworks/base/core/java/android/printservice/PrintService.java
|
4b9a4d16872bbb50712e007b419ac0b35ff1582d |
|
12-Jun-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Print - platform APIs Related changes: Skia (inlcude PDF APIs): https://googleplex-android-review.googlesource.com/#/c/305814/ Canvas to PDF: https://googleplex-android-review.googlesource.com/#/c/319367/ Settings (initial version): https://googleplex-android-review.googlesource.com/#/c/306077/ Build: https://googleplex-android-review.googlesource.com/#/c/292437/ Sample print services: https://googleplex-android-review.googlesource.com/#/c/281785/ Change-Id: I104d12efd12577f05c7b9b2a5e5e49125c0f09da
/frameworks/base/core/java/android/printservice/PrintService.java
|