2013-06-11 15:20:06 -07:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
-->
|
|
|
|
|
Iteration on the print sub-system.
1. API changes: Moved copies API from PrintAttributes to PrintJobInfo;
Changed the PageRange list to an array in PrintDocumentAdapter#onWrite;
Added onCancelled method to the layout and write callbacks.
2. Refactored the serialization of remote layout and write commands. Now
the commands are serialized by the code in the client instead in the spooler.
The benefit is simple code since the client has to do a serialization to delegate
to the main thread anyway. The increased IPC found is fine since these calls
are quite unfrequent.
3. Removed an unused file: IPrintSpoolerObserver.aidl
4. Added equals and hasCode implementation to PageRange, PrintAttributes,
MediaSize, Resolution, Margins, Tray, PrintDocumentInfo.
5. Added shortcut path for query APIs on PrintJob that return cached values
if the print job is in a uncuttable state, i.e. completed or cancelled. Failed
print jobs can be restarted.
6. PrintJobInfo was not properly serialized.
7. Updated the look of the print dialog to be stable if there is and there isn't
currently selected printer.
8. PrintJobCOnfigActivity now calls onLayout on every print attributes change
but requests a write only on print preview or print button press. Also if the
layout did not change the content and it is already written no subsequent
call is made. Also if the selected pages change and we already have them
no subsequent call to write is made. Also the app is called with print preview
attribute set when performing layout and with it cleared after the print button
is pressed. A lot of changes making sure that only valid actions are enabled
in the activity (looks like a dialog) at a given time frame. The print job config
activity is also hidden after we got all the data, i.e. layout and write are done.
9. The callback from the print spooler to the system are scheduled via messages
to avoid lock being held during the call. It was hard to guarantee that since a
method holding a lock may be calling one that would like to release the lock
at some point to make the callbacks.
10. Print spooler state is persisted only if something changes in a completed
print job, i.e. not one that is being constructed due the print job config dialog.
11. Fixed a potential race in the RemotePrintSpooler where it was possible that
a client that got a handle to the remote spooler calls into an unbound spooler.
E.g: the client gets the remote interface with a lock held, now the client releases
the lock to avoid IPC with a lock, during the IPC scheduling the spooler has
notified the system that it is done and the system unbinds from it, now the
client's IPC is made to a spooler that is disconnected.
Change-Id: Ie9c42255940a27ecaed21a4d326a663a4788ac9d
2013-07-24 17:00:06 -07:00
|
|
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Title of the PrintSpooler application. [CHAR LIMIT=50] -->
|
2013-06-11 15:20:06 -07:00
|
|
|
<string name="app_label">Print Spooler</string>
|
|
|
|
|
|
|
|
<!-- Label of the print dialog's print button. [CHAR LIMIT=16] -->
|
2013-08-07 19:29:42 -07:00
|
|
|
<string name="print_button">Print</string>
|
2013-08-06 23:49:25 -07:00
|
|
|
|
2013-08-20 16:32:53 -07:00
|
|
|
<!-- Label of the print dialog's save button. [CHAR LIMIT=16] -->
|
|
|
|
<string name="save_button">Save</string>
|
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Label of the destination widget. [CHAR LIMIT=20] -->
|
|
|
|
<string name="label_destination">DESTIINATION</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Label of the copies count widget. [CHAR LIMIT=20] -->
|
|
|
|
<string name="label_copies">COPIES</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Label of the paper size widget. [CHAR LIMIT=20] -->
|
|
|
|
<string name="label_paper_size">PAPER SIZE</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Label of the color mode widget. [CHAR LIMIT=20] -->
|
|
|
|
<string name="label_color">COLOR</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Label of the orientation widget. [CHAR LIMIT=20] -->
|
|
|
|
<string name="label_orientation">ORIENTATION</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Label of the page selection widget. [CHAR LIMIT=20] -->
|
Iteration on the print sub-system.
1. API changes: Moved copies API from PrintAttributes to PrintJobInfo;
Changed the PageRange list to an array in PrintDocumentAdapter#onWrite;
Added onCancelled method to the layout and write callbacks.
2. Refactored the serialization of remote layout and write commands. Now
the commands are serialized by the code in the client instead in the spooler.
The benefit is simple code since the client has to do a serialization to delegate
to the main thread anyway. The increased IPC found is fine since these calls
are quite unfrequent.
3. Removed an unused file: IPrintSpoolerObserver.aidl
4. Added equals and hasCode implementation to PageRange, PrintAttributes,
MediaSize, Resolution, Margins, Tray, PrintDocumentInfo.
5. Added shortcut path for query APIs on PrintJob that return cached values
if the print job is in a uncuttable state, i.e. completed or cancelled. Failed
print jobs can be restarted.
6. PrintJobInfo was not properly serialized.
7. Updated the look of the print dialog to be stable if there is and there isn't
currently selected printer.
8. PrintJobCOnfigActivity now calls onLayout on every print attributes change
but requests a write only on print preview or print button press. Also if the
layout did not change the content and it is already written no subsequent
call is made. Also if the selected pages change and we already have them
no subsequent call to write is made. Also the app is called with print preview
attribute set when performing layout and with it cleared after the print button
is pressed. A lot of changes making sure that only valid actions are enabled
in the activity (looks like a dialog) at a given time frame. The print job config
activity is also hidden after we got all the data, i.e. layout and write are done.
9. The callback from the print spooler to the system are scheduled via messages
to avoid lock being held during the call. It was hard to guarantee that since a
method holding a lock may be calling one that would like to release the lock
at some point to make the callbacks.
10. Print spooler state is persisted only if something changes in a completed
print job, i.e. not one that is being constructed due the print job config dialog.
11. Fixed a potential race in the RemotePrintSpooler where it was possible that
a client that got a handle to the remote spooler calls into an unbound spooler.
E.g: the client gets the remote interface with a lock held, now the client releases
the lock to avoid IPC with a lock, during the IPC scheduling the spooler has
notified the system that it is done and the system unbinds from it, now the
client's IPC is made to a spooler that is disconnected.
Change-Id: Ie9c42255940a27ecaed21a4d326a663a4788ac9d
2013-07-24 17:00:06 -07:00
|
|
|
<string name="label_pages">PAGES (<xliff:g id="page_count" example="5">%1$s</xliff:g>)</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Page range exmple used as a hint of how to specify such. [CHAR LIMIT=15] -->
|
2013-08-20 16:32:53 -07:00
|
|
|
<string name="pages_range_example">e.g. 1–5, 8, 11–13</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-07-23 13:29:31 -07:00
|
|
|
<!-- Title for the pring preview button .[CHAR LIMIT=30] -->
|
|
|
|
<string name="print_preview">Print preview</string>
|
|
|
|
|
|
|
|
<!-- Title for the pring preview button if there is no PDF viewer isntalled. [CHAR LIMIT=50] -->
|
|
|
|
<string name="install_for_print_preview">Install PDF viewer for preview</string>
|
|
|
|
|
|
|
|
<!-- Title of the message that the printing application crashed. [CHAR LIMIT=50] -->
|
|
|
|
<string name="printing_app_crashed">Printing app crashed</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
Iteration on the print sub-system.
1. API changes: Moved copies API from PrintAttributes to PrintJobInfo;
Changed the PageRange list to an array in PrintDocumentAdapter#onWrite;
Added onCancelled method to the layout and write callbacks.
2. Refactored the serialization of remote layout and write commands. Now
the commands are serialized by the code in the client instead in the spooler.
The benefit is simple code since the client has to do a serialization to delegate
to the main thread anyway. The increased IPC found is fine since these calls
are quite unfrequent.
3. Removed an unused file: IPrintSpoolerObserver.aidl
4. Added equals and hasCode implementation to PageRange, PrintAttributes,
MediaSize, Resolution, Margins, Tray, PrintDocumentInfo.
5. Added shortcut path for query APIs on PrintJob that return cached values
if the print job is in a uncuttable state, i.e. completed or cancelled. Failed
print jobs can be restarted.
6. PrintJobInfo was not properly serialized.
7. Updated the look of the print dialog to be stable if there is and there isn't
currently selected printer.
8. PrintJobCOnfigActivity now calls onLayout on every print attributes change
but requests a write only on print preview or print button press. Also if the
layout did not change the content and it is already written no subsequent
call is made. Also if the selected pages change and we already have them
no subsequent call to write is made. Also the app is called with print preview
attribute set when performing layout and with it cleared after the print button
is pressed. A lot of changes making sure that only valid actions are enabled
in the activity (looks like a dialog) at a given time frame. The print job config
activity is also hidden after we got all the data, i.e. layout and write are done.
9. The callback from the print spooler to the system are scheduled via messages
to avoid lock being held during the call. It was hard to guarantee that since a
method holding a lock may be calling one that would like to release the lock
at some point to make the callbacks.
10. Print spooler state is persisted only if something changes in a completed
print job, i.e. not one that is being constructed due the print job config dialog.
11. Fixed a potential race in the RemotePrintSpooler where it was possible that
a client that got a handle to the remote spooler calls into an unbound spooler.
E.g: the client gets the remote interface with a lock held, now the client releases
the lock to avoid IPC with a lock, during the IPC scheduling the spooler has
notified the system that it is done and the system unbinds from it, now the
client's IPC is made to a spooler that is disconnected.
Change-Id: Ie9c42255940a27ecaed21a4d326a663a4788ac9d
2013-07-24 17:00:06 -07:00
|
|
|
<!-- Title if the number of pages in a printed document is unknown. [CHAR LIMIT=20] -->
|
|
|
|
<string name="page_count_unknown">unknown</string>
|
|
|
|
|
2013-08-06 14:40:46 -07:00
|
|
|
<!-- Title for the temporary dialog show while an app is generating a print job. [CHAR LIMIT=30] -->
|
|
|
|
<string name="generating_print_job">Generating print job</string>
|
2013-08-02 14:22:19 -07:00
|
|
|
|
2013-08-14 17:31:04 -07:00
|
|
|
<!-- Title for the save as PDF option in the printer list. [CHAR LIMIT=30] -->
|
|
|
|
<string name="save_as_pdf">Save as PDF</string>
|
|
|
|
|
|
|
|
<!-- Title for the open all printers UI option in the printer list. [CHAR LIMIT=30] -->
|
2013-08-20 16:32:53 -07:00
|
|
|
<string name="all_printers">All printers…</string>
|
2013-08-14 17:31:04 -07:00
|
|
|
|
|
|
|
<!-- Select printer activity -->
|
2013-08-12 22:36:50 -07:00
|
|
|
|
|
|
|
<!-- Title for the share action bar menu item. [CHAR LIMIT=20] -->
|
|
|
|
<string name="search">Search</string>
|
|
|
|
|
2013-08-14 17:31:04 -07:00
|
|
|
<!-- Title for the select printer activity. [CHAR LIMIT=30] -->
|
|
|
|
<string name="all_printers_label">All printers</string>
|
|
|
|
|
|
|
|
<!-- Add printer dialog -->
|
|
|
|
|
|
|
|
<!-- Title for the alert dialog for selecting a print service. [CHAR LIMIT=50] -->
|
|
|
|
<string name="choose_print_service">Choose print service</string>
|
|
|
|
|
|
|
|
<!-- Title for the button to search the play store for print services. [CHAR LIMIT=50] -->
|
|
|
|
<string name="search_play_store">Search in play store</string>
|
|
|
|
|
2013-08-06 14:40:46 -07:00
|
|
|
<!-- Notifications -->
|
2013-08-02 14:22:19 -07:00
|
|
|
|
|
|
|
<!-- Template for the notificaiton label for a printing print job. [CHAR LIMIT=25] -->
|
|
|
|
<string name="printing_notification_title_template">Printing <xliff:g id="print_job_name" example="foo.jpg">%1$s</xliff:g></string>
|
|
|
|
|
|
|
|
<!-- Template for the notificaiton label for a cancelling print job. [CHAR LIMIT=25] -->
|
|
|
|
<string name="cancelling_notification_title_template">Cancelling <xliff:g id="print_job_name" example="foo.jpg">%1$s</xliff:g></string>
|
|
|
|
|
|
|
|
<!-- Template for the notificaiton label for a failed print job. [CHAR LIMIT=25] -->
|
|
|
|
<string name="failed_notification_title_template">Printer error <xliff:g id="print_job_name" example="foo.jpg">%1$s</xliff:g></string>
|
|
|
|
|
2013-08-28 14:37:54 -07:00
|
|
|
<!-- Template for the notificaiton label for a blocked print job. [CHAR LIMIT=25] -->
|
|
|
|
<string name="blocked_notification_title_template">Printer blocked <xliff:g id="print_job_name" example="foo.jpg">%1$s</xliff:g></string>
|
|
|
|
|
2013-08-02 14:22:19 -07:00
|
|
|
<!-- Label for the notification button for cancelling a print job. [CHAR LIMIT=25] -->
|
|
|
|
<string name="cancel">Cancel</string>
|
|
|
|
|
|
|
|
<!-- Label for the notification button for restrating a filed print job. [CHAR LIMIT=25] -->
|
|
|
|
<string name="restart">Restart</string>
|
|
|
|
|
2013-08-06 14:40:46 -07:00
|
|
|
<!-- Message that there is no connection to a printer. [CHAR LIMIT=40] -->
|
|
|
|
<string name="no_connection_to_printer">No connection to printer</string>
|
|
|
|
|
2013-08-28 14:37:54 -07:00
|
|
|
<!-- Label for an unknown reason for failed or blocked print job. [CHAR LIMIT=25] -->
|
|
|
|
<string name="reason_unknown">unknown</string>
|
|
|
|
|
2013-08-02 14:22:19 -07:00
|
|
|
<!-- Arrays -->
|
|
|
|
|
2013-06-11 15:20:06 -07:00
|
|
|
<!-- Color mode labels. -->
|
|
|
|
<string-array name="color_mode_labels">
|
|
|
|
<!-- Color modelabel: Monochrome color scheme, e.g. one color is used. [CHAR LIMIT=20] -->
|
2013-07-17 18:37:36 -07:00
|
|
|
<item>Black & White</item>
|
2013-06-11 15:20:06 -07:00
|
|
|
<!-- Color mode label: Color color scheme, e.g. many colors are used. [CHAR LIMIT=20] -->
|
|
|
|
<item>Color</item>
|
|
|
|
</string-array>
|
|
|
|
|
|
|
|
<!-- Orientation labels. -->
|
|
|
|
<string-array name="orientation_labels">
|
|
|
|
<!-- Orientation label: Portrait page orientation. [CHAR LIMIT=30] -->
|
|
|
|
<item>Portrait</item>
|
|
|
|
<!-- Orientation label: Landscape page orientation [CHAR LIMIT=30] -->
|
|
|
|
<item>Landscape</item>
|
|
|
|
</string-array>
|
|
|
|
|
2013-07-17 18:37:36 -07:00
|
|
|
<!-- Page options labels. -->
|
|
|
|
<string-array name="page_options_labels">
|
|
|
|
<!-- Page range option label: Print all pages [CHAR LIMIT=30] -->
|
|
|
|
<item>All</item>
|
|
|
|
<!-- Page range option label: Print a page range [CHAR LIMIT=30] -->
|
|
|
|
<item>Range</item>
|
|
|
|
</string-array>
|
|
|
|
|
2013-08-28 14:37:54 -07:00
|
|
|
<!-- Permissions -->
|
|
|
|
|
|
|
|
<!-- Title of an application permission, listed so the user can choose whether they want
|
|
|
|
to allow the application to do this. -->
|
2013-09-16 17:53:51 -07:00
|
|
|
<string name="permlab_accessAllPrintJobs" translatable="false">access all print jobs</string>
|
2013-08-28 14:37:54 -07:00
|
|
|
<!-- Description of an application permission, listed so the user can choose whether
|
|
|
|
they want to allow the application to do this. -->
|
2013-09-16 17:53:51 -07:00
|
|
|
<string name="permdesc_accessAllPrintJobs" translatable="false">Allows the holder to access
|
|
|
|
print jobs created by another app. Should never be needed for normal apps.</string>
|
2013-06-11 15:20:06 -07:00
|
|
|
|
2013-09-14 00:59:03 -07:00
|
|
|
<!-- Title of an application permission, listed so the user can choose whether they want
|
|
|
|
to allow the application to do this. -->
|
2013-09-16 17:53:51 -07:00
|
|
|
<string name="permlab_startPrintServiceConfigActivity" translatable="false">start print
|
|
|
|
service configuration activities</string>
|
2013-09-14 00:59:03 -07:00
|
|
|
<!-- Description of an application permission, listed so the user can choose whether they
|
|
|
|
want to allow the application to do this. -->
|
2013-09-16 17:53:51 -07:00
|
|
|
<string name="permdesc_startPrintServiceConfigActivity" translatable="false">Allows the
|
|
|
|
holder to start the configuration activities of a print service. Should never be needed
|
|
|
|
for normal apps.</string>
|
2013-09-14 00:59:03 -07:00
|
|
|
|
2013-06-11 15:20:06 -07:00
|
|
|
</resources>
|