391 Commits

Author SHA1 Message Date
Svetoslav Ganov
2f8079753d am f62e2629: am fe3b58fb: Merge "Update the print spooler action bar icon." into klp-dev
* commit 'f62e262932daaea8b5eda3893a56e2fdbb17ea0a':
  Update the print spooler action bar icon.
2013-10-14 19:00:41 -07:00
Svetoslav
9773b379fe am 79662942: am c89e5a6a: Merge "Layout may be called with invalid print attributes." into klp-dev
* commit '796629422f3023c1cc3c8d970f5b66c1b34599d2':
  Layout may be called with invalid print attributes.
2013-10-14 19:00:38 -07:00
Svetoslav
2c163ee4eb am 1e639d2d: Merge "Update the message for unavailable printers." into klp-dev
* commit '1e639d2d77dc225a6d5f191ce97561f1b987e402':
  Update the message for unavailable printers.
2013-10-14 18:05:45 -07:00
Svetoslav
2fa010cf5b Update the message for unavailable printers.
If a printer disappears or we do not get its capabilities, we
show the user a message that the printer is unavailable. This
message was appended after the printer name but they tend to
be very long and the user does not see that the printer is not
available due to ellipsis. Now we append the message after the
subtitle which tends to be much shorter.

bug:10983508

Change-Id: Ib3f7ad3bd82ff6decd49dc45461fb5131338e8c2
2013-10-14 17:36:19 -07:00
Svetoslav Ganov
f62e262932 am fe3b58fb: Merge "Update the print spooler action bar icon." into klp-dev
* commit 'fe3b58fbed7a02d3e9f559ed2f814b42934dc784':
  Update the print spooler action bar icon.
2013-10-14 17:19:36 -07:00
Svetoslav
796629422f am c89e5a6a: Merge "Layout may be called with invalid print attributes." into klp-dev
* commit 'c89e5a6af1514320f90329dadebdfa26a3ae93d2':
  Layout may be called with invalid print attributes.
2013-10-14 17:19:34 -07:00
Svetoslav Ganov
2f0ec7af06 Update the print spooler action bar icon.
1. Updated the print spooler icon shown in the action bar
   when searching for printers in the all printers activity.

2. If the current printer's capabilities are not immediately
   available the page count label in the dialog contained the
   argument placeholders.

bug:10983508

Change-Id: Id4f78d6cc31647f043f8e3044ab54f30584d1ebe
2013-10-14 13:49:17 -07:00
Svetoslav
9d843e09ca Layout may be called with invalid print attributes.
If a print service reports a printer with no capabilities and then
removes and adds the same printer again with no capabilities we can
call layout with invalid attributes. While the print service should
not do that we must not crash. The reason is that the print dialog
code was lacking a check whether something changed before handling
the change of the current printer. This resulted in calling layout
even though we still do not have the printer capabilities resulting
in passing bogus print attributes to the app.

bug:11216402

Change-Id: Icb9161930a70a7f9ead589a0ab0b4eb35091666f
2013-10-14 13:15:35 -07:00
Svetoslav Ganov
906f33022a am b7180852: am f5adedba: am 188d0953: Merge "The print dialog in bad state after pressing back from prnt to PDF." into klp-dev
* commit 'b71808524c6def5a903e15ad5d6a62c024a32569':
  The print dialog in bad state after pressing back from prnt to PDF.
2013-10-14 10:51:40 -07:00
Svetoslav Ganov
64e4896dbb am b6fd5789: am 64655e81: am 65d7b8d0: Merge "The list of active print jobs in print service retunring wrong result." into klp-dev
* commit 'b6fd5789ee73ae8abeaa69818d74d9461bd38165':
  The list of active print jobs in print service retunring wrong result.
2013-10-14 10:51:37 -07:00
Svetoslav Ganov
09854a9b3e am c7db2855: am 64ee79dd: am 3cccec4c: Merge "The callbacks for tracking a printer called more than once without printer change." into klp-dev
* commit 'c7db28558d737d2d06fc2f0545f19350dc603666':
  The callbacks for tracking a printer called more than once without printer change.
2013-10-14 10:51:29 -07:00
Svetoslav Ganov
e50c500924 am ff98feec: am 79ddf835: am bececbfa: Merge "Printed document size not persisted." into klp-dev
* commit 'ff98feec6f37485b7f5e025d221fe5c9ae147b03':
  Printed document size not persisted.
2013-10-14 10:50:50 -07:00
Svetoslav Ganov
132a9e2a6e am 603ece2e: am bfc8edcf: am 63ce2019: Merge "Fail only scheduled print jobs, i.e. handed to a service, if the service is disabled." into klp-dev
* commit '603ece2e8e3f5a73007fd42d3be52123a351eef0':
  Fail only scheduled print jobs, i.e. handed to a service, if the service is disabled.
2013-10-14 10:50:42 -07:00
Svetoslav
58a22cdf29 am 455e95eb: am 1f5c1f3e: am 036f05b8: Merge "Putting the cursor at the end of the copies and range inputs." into klp-dev
* commit '455e95ebab93c1d5c692114186807a058b454d73':
  Putting the cursor at the end of the copies and range inputs.
2013-10-14 10:49:05 -07:00
Svetoslav
0983f49eff am 00040103: am 8e80d1f9: am 33021d95: Merge "Adding timeout if the current printer or its capabilities disappear." into klp-dev
* commit '0004010369ef713ae9bdbdeb8e16bfbdcd835811':
  Adding timeout if the current printer or its capabilities disappear.
2013-10-14 10:48:19 -07:00
Baligh Uddin
7d8b77f036 Import translations. DO NOT MERGE
Change-Id: Ib9ba58f8e1486581d71443234db99a12f925cf0a
Auto-generated-cl: translation import
2013-10-14 09:17:56 -07:00
Baligh Uddin
d898bb0003 Import translations. DO NOT MERGE
Change-Id: Ic05225f9a7ed59b8534c5637187ced07b660252a
Auto-generated-cl: translation import
2013-10-14 09:16:10 -07:00
Svetoslav Ganov
b71808524c am f5adedba: am 188d0953: Merge "The print dialog in bad state after pressing back from prnt to PDF." into klp-dev
* commit 'f5adedba578f0e776a1c21186dd5a2f9ed7214e2':
  The print dialog in bad state after pressing back from prnt to PDF.
2013-10-13 12:25:34 -07:00
Svetoslav Ganov
b6fd5789ee am 64655e81: am 65d7b8d0: Merge "The list of active print jobs in print service retunring wrong result." into klp-dev
* commit '64655e81640ad5623d6a1b03f04320c16be8b101':
  The list of active print jobs in print service retunring wrong result.
2013-10-13 12:18:53 -07:00
Svetoslav Ganov
c7db28558d am 64ee79dd: am 3cccec4c: Merge "The callbacks for tracking a printer called more than once without printer change." into klp-dev
* commit '64ee79dd2d0b7a5bdff2590f252661d2fa5f76d7':
  The callbacks for tracking a printer called more than once without printer change.
2013-10-13 12:15:13 -07:00
Svetoslav Ganov
ff98feec6f am 79ddf835: am bececbfa: Merge "Printed document size not persisted." into klp-dev
* commit '79ddf835227283979dc353e57711a9d6dff8edb0':
  Printed document size not persisted.
2013-10-12 17:37:38 -07:00
Svetoslav Ganov
603ece2e8e am bfc8edcf: am 63ce2019: Merge "Fail only scheduled print jobs, i.e. handed to a service, if the service is disabled." into klp-dev
* commit 'bfc8edcf55c4f65ec00ca5d921a3cae1b367b248':
  Fail only scheduled print jobs, i.e. handed to a service, if the service is disabled.
2013-10-12 17:37:35 -07:00
Svetoslav Ganov
7ff610ee02 The print dialog in bad state after pressing back from prnt to PDF.
When selecting print to PDF and then pressing back to return from the
storage UI activity, the print dialog was in a state where nothing
is selected.

bug:10983508

Change-Id: I9c14b5fa18e812104ade6a2eacd626b5f7387111
2013-10-12 17:24:05 -07:00
Svetoslav Ganov
d91cb3ea61 The list of active print jobs in print service retunring wrong result.
1. The getActivePrintJobs() method in print service is designed to return
   the active print job i.e. ones scheduled to be processed by the print
   service. Now the correct list is returned.

2. The listeners for observing the state of print jobs may be called even
   after being unregistered. Ex: state change occurs and we schedule a
   message on the app's main thread to make the notificaion. Now the app
   unregisretes the callback and on the next loop the notification message
   is handled.

bug:11200258

Change-Id: I4a497b5c9a7287a22023cafe41ce966d14300ca6
2013-10-12 16:09:29 -07:00
Svetoslav Ganov
d3c197d972 The callbacks for tracking a printer called more than once without printer change.
When the user selectes a printer in the UI we ask the print service to start tracking
the printer, i.e. to observe changes of the printer state and capabilities. The callback
for the initially selected printer is called twice which breaks the contract and also
may trigger potentially expensive operations on the print service side.

More precisely the printer does not change and we ask the service to start tracking,
stop tracking, and again start tracking.

bug:11199851

Change-Id: Ib761e6da03f670b3098c69b1c0927177a8e4ae6b
2013-10-12 14:28:47 -07:00
Svetoslav Ganov
7d7888d1c7 Printed document size not persisted.
We persist ongoing print jobs so they can be restarted if the device
dies. The data size of the printed document was not persisted to disc.

bug:11199352

Change-Id: I53ef1ee285aa4808917dd6a5c7335226aba1ef0a
2013-10-12 13:18:16 -07:00
Svetoslav Ganov
9b6d3a153f Fail only scheduled print jobs, i.e. handed to a service, if the service is disabled.
When a print service is disabled we assume all print jobs for it failed as we have
no way to know what happens to them. However we are also failing created print jobs,
i.e. ones not given to the service. Such jobs are in process of construction and
the print dialog is up. We should not fail such jobs as the dialog can still modify
their state and potentially select a print from a different service. Therefore, we
leave them alone and they will be failed if when constructed are passed to a
disabled/uninstalled service.

bug:11197432

Change-Id: Ie4fe54327e3e25776b1dd572be2dfafdd700c2e5
2013-10-12 12:35:44 -07:00
Baligh Uddin
ea9aec27cc Merge "Import translations. DO NOT MERGE" into klp-dev 2013-10-12 00:27:15 +00:00
Svetoslav
455e95ebab am 1f5c1f3e: am 036f05b8: Merge "Putting the cursor at the end of the copies and range inputs." into klp-dev
* commit '1f5c1f3eee2df06ae42bc9e2bb9b5502316502cc':
  Putting the cursor at the end of the copies and range inputs.
2013-10-11 17:26:42 -07:00
Svetoslav
1f5c1f3eee am 036f05b8: Merge "Putting the cursor at the end of the copies and range inputs." into klp-dev
* commit '036f05b8b0dabc72e6ce68372516c3d98da137e4':
  Putting the cursor at the end of the copies and range inputs.
2013-10-11 17:22:56 -07:00
Svetoslav
89ed9fcf9b Putting the cursor at the end of the copies and range inputs.
bug:10983508

Change-Id: I767876fada2f28b00283ed9140fca1a40729f38f
2013-10-11 17:04:34 -07:00
Baligh Uddin
b48966885e Import translations. DO NOT MERGE
Change-Id: I11e36ca2c03ecbe1a6c99a8cc4f7e4afed3e5427
Auto-generated-cl: translation import
2013-10-11 16:34:38 -07:00
Baligh Uddin
3532cb4bba Import translations. DO NOT MERGE
Change-Id: I66efc38992968ef463f4d02f1af101053adfb41e
Auto-generated-cl: translation import
2013-10-11 16:31:18 -07:00
Svetoslav
0004010369 am 8e80d1f9: am 33021d95: Merge "Adding timeout if the current printer or its capabilities disappear." into klp-dev
* commit '8e80d1f953932ad867ff4f0b23b466565f1b15f0':
  Adding timeout if the current printer or its capabilities disappear.
2013-10-11 14:36:56 -07:00
Svetoslav
8e80d1f953 am 33021d95: Merge "Adding timeout if the current printer or its capabilities disappear." into klp-dev
* commit '33021d95a8f3ca127c1df6aeb54c3a9219f46093':
  Adding timeout if the current printer or its capabilities disappear.
2013-10-11 14:32:59 -07:00
Svetoslav
02dded1a63 Adding timeout if the current printer or its capabilities disappear.
If the current printer becomes unavailable or its capabilities
go away we are scheduling a timeout to declare the printer as
unavailable.

bug:10983508

Change-Id: Iab85cfd35fc0cecc3dd4abac6232347f9da18fb0
2013-10-11 14:02:49 -07:00
Svetoslav
1d4a8bf4c4 am 6346a928: am c8c943a9: am 3691dd06: Merge "Print spooler not starting." into klp-dev
* commit '6346a9285a3a1a45da4cfda26ea6ed454a87114f':
  Print spooler not starting.
2013-10-11 14:02:49 -07:00
Svetoslav
6346a9285a am c8c943a9: am 3691dd06: Merge "Print spooler not starting." into klp-dev
* commit 'c8c943a93044f63e27b725901568dc62a84606a8':
  Print spooler not starting.
2013-10-11 13:59:39 -07:00
Svetoslav
c8c943a930 am 3691dd06: Merge "Print spooler not starting." into klp-dev
* commit '3691dd063f297162facebf723ac53831126395b5':
  Print spooler not starting.
2013-10-11 13:56:59 -07:00
Svetoslav
54adee86af Print spooler not starting.
1. In my previous change I fixed a typo in the Java constant with
   intent action to launch the print dialog but failed to updated
   the print spooler manifest.

2. Removed dead code - the user id is no longer needed since the
   spooler is an app that runs per user. Every user has its spooler.
   This code was not referenced from anywhere.

3. Added a default icon to the print spooler.

4. Fixed a bug where if the print history is empty the UI goes
   to the all pritners activity.

bug:11059554

Change-Id: If74c23b418a8c67620ba14435ee7f3b2c4527099
2013-10-11 12:39:47 -07:00
Svetoslav Ganov
ad9f1cce8c am 0d24a810: am 9ce7ae3e: am f22a767e: Merge "Added UI for errors during layout and write." into klp-dev
* commit '0d24a810d2ab6b5f7092aff3d11442debd78396a':
  Added UI for errors during layout and write.
2013-10-11 10:14:39 -07:00
Svetoslav
a1f9936c6b am 5c880d0d: am 6f688e87: am 8f34715b: Merge "Refactor how the print dialog activity is started." into klp-dev
* commit '5c880d0d1551603dcc4366406ec9ee3b812a8fc4':
  Refactor how the print dialog activity is started.
2013-10-11 10:11:05 -07:00
Svetoslav Ganov
0d24a810d2 am 9ce7ae3e: am f22a767e: Merge "Added UI for errors during layout and write." into klp-dev
* commit '9ce7ae3e2001f378199845d4c14b4304a60b3daf':
  Added UI for errors during layout and write.
2013-10-11 10:09:39 -07:00
Svetoslav Ganov
9ce7ae3e20 am f22a767e: Merge "Added UI for errors during layout and write." into klp-dev
* commit 'f22a767e872ec8f5c2531a88819e0f4574c78fe3':
  Added UI for errors during layout and write.
2013-10-11 10:08:00 -07:00
Svetoslav Ganov
f22a767e87 Merge "Added UI for errors during layout and write." into klp-dev 2013-10-11 17:06:12 +00:00
Svetoslav
5c880d0d15 am 6f688e87: am 8f34715b: Merge "Refactor how the print dialog activity is started." into klp-dev
* commit '6f688e879a2523393e8e0da072e1f62cb456276f':
  Refactor how the print dialog activity is started.
2013-10-11 10:06:03 -07:00
Svetoslav
6f688e879a am 8f34715b: Merge "Refactor how the print dialog activity is started." into klp-dev
* commit '8f34715b94a1733f4cc5f31426d5dafcd57052c7':
  Refactor how the print dialog activity is started.
2013-10-11 10:04:27 -07:00
Svetoslav Ganov
caff38821a Added UI for errors during layout and write.
1. If an error happens during layout or write we show an error
   message with the string provided by the application which
   has an OK button to retry or tap outside to cancel.

2. Updated the targed and min SDK version for the PrintSpooler.

bug:11127269

Change-Id: I4301cf3716119b1e33b95347a8451fc1c128343b
2013-10-11 10:04:02 -07:00
Svetoslav
8f34715b94 Merge "Refactor how the print dialog activity is started." into klp-dev 2013-10-11 17:01:15 +00:00
Svetoslav
7bfbbcb04b Refactor how the print dialog activity is started.
1. Before the print job activity was started asyncronously with
   respect to the print call on to the print manager. This was
   creating a situation where the starting activity may finish
   before the print dialog appears which may lead to an orphaned
   print document adapter with no data to print (as the UI is
   is gone), or strange behaviors where the print dialog starts
   on as a separate task.

   To address this the pending intent for starting the print
   dialog is not started by the print spooler since we cannot
   call into it synchronously as we have to start its process
   and bind to the spooler service which leads to jankyness in
   the client app. Now the pending intent is created by the
   print manager service in the synchronous print call so
   from an app's perspective calling print starts the activity.

   The side effect of this design is that the print dialog
   activity may start before the system is bound to the spooler
   service. In such a case the print activity cannot start
   poking the print spooler state as the system registers
   callback to observe the spooler state. To address this
   the print spooler activity disables the UI and also binds
   to the spooler service which happenes immediately after it
   is started. As soon as the print dialog binds to the
   service it starts the UI.

2. Fixed an bug in the printer adapter of the print dialog that
   was leading to a crash if the only item in the adater is the
   all pritners option and it is selected.

3. Piping the package name that started the printing so we can
   pass it to the storage UI as a hint to open the last location
   the app used.

bug:11127269

Change-Id: Ia93820bdae0b0e7600a0930b1f10d9708bd86b68
2013-10-11 09:11:24 -07:00