580 Commits

Author SHA1 Message Date
Svet Ganov
846aac1a22 am 48956f26: am f51d7015: Merge "Lockup in the print spooler." into lmp-mr1-dev
* commit '48956f266df46bc852c8c2886f16dbb7ac61b3fe':
  Lockup in the print spooler.
2014-11-25 18:45:32 +00:00
Svet Ganov
f0de3a5ca3 am f34896bb: am c9f499d2: Merge "Print spooler crash when printing after a rotation." into lmp-mr1-dev
* commit 'f34896bbeb49aef3509e55ccf9afc7b62ae4dafd':
  Print spooler crash when printing after a rotation.
2014-11-25 17:37:42 +00:00
Svet Ganov
c80814e70a Lockup in the print spooler.
A recent change modified the way we destroy the remote renderer from
asynchronous to synchronous. This caused problems since it was possible
that the remote rendering service is unbound while we are reading the
contents of a rendered page. As a result the reader was blocking on I/O
and the print spooler was getting into a locked state that required a
restart of its process.  Now the remote renderer is destroyed
asynchronously.

bug:18498626

Change-Id: I1312bf808f30430728b4038dd4be43c55d2be825
2014-11-24 22:12:34 +00:00
Svet Ganov
f6cd14dbc9 Print spooler crash when printing after a rotation.
1. Available printers are provided by a loader driven by the activity
   lifecycle. After a rotation of an app that does not handle rotation
   the print activity is destroyed in a delayed fashion. When another
   print task is started the loader of the destroed activity gets two
   cancellations, one when the activity is stopped and one when it is
   destroyed but when the second cancellation happens the loader has a
   bad state that it is loading while it is not and a NPE occurs.

2. If a rotation happens early before the print activity is fully initialized
   (there are asyncrconous operations that take place) we get a NPE as
   the print preview controller is not created yet.

3. A lockup of the print preview process occurs if the print print
   activity is destroyed after we initiated binding to the rendering
   service but before we receive the remote interface. In this case no
   remote service is received as exepcted since we already unbound from
   it resulting in a missed signal.

bug:18238590

Change-Id: I81817d81702f649ded97dfbab7d7bba28f22fa91
2014-11-22 09:28:38 -08:00
Andreas Gampe
d99c25eff3 am 37079e29: Merge "Frameworks/base: Wall Werror in packages"
* commit '37079e29171df20b6355244882dce9d745da55db':
  Frameworks/base: Wall Werror in packages
2014-11-13 23:39:49 +00:00
Andreas Gampe
423ba098bd Frameworks/base: Wall Werror in packages
Turn on -Wall -Werror in packages/. Fix warnings.

Change-Id: I4ec7256a7df46017e1895575719f2b5aca978bd0
2014-11-13 15:25:34 -08:00
Svet Ganov
28d51a39a1 am 182f0a13: Merge "Crash apps that print malformed or password protected PDFs." into lmp-mr1-dev
automerge: 4f5b8a6

* commit '4f5b8a6b9b1966b42c929f89e1e91827ec495719':
  Crash apps that print malformed or password protected PDFs.
2014-11-01 00:27:30 +00:00
Svet Ganov
fce84f035c Crash apps that print malformed or password protected PDFs.
If apps are writing malformed content (typically not a PDF file) or if the
PDF content they provide to the print system is password protected, are now
crashed as both of these are app bugs.

bug:17636435

Change-Id: Ifce6a3199e587448dd38f6a84290a965c24b698b
2014-11-01 00:06:08 +00:00
Svetoslav
2a6749adc0 am 93134ce8: Merge "Save to a PDF file should look like print preview." into lmp-mr1-dev
automerge: 160021d

* commit '160021d8cf62f566587d899498c72fff82b6969f':
  Save to a PDF file should look like print preview.
2014-10-31 19:59:53 +00:00
Svetoslav
93134ce87e Merge "Save to a PDF file should look like print preview." into lmp-mr1-dev 2014-10-31 19:54:05 +00:00
Svetoslav
bec22beb99 Save to a PDF file should look like print preview.
When rendering a PDF file for print preview we take into account
the selected print options such as paper size, orientation, etc
without modifying the document. To print we send the doc in its
original form and the print options so the print service can apply
the necessary transforms in addition to the optional custom options
it supports. When saving to PDF we have to actually change the
document as we act as a print service.

bug:13545980

Change-Id: Icdcecf962bec6ff742cc6015df5af9d9086ce760
2014-10-31 10:41:34 -07:00
Svetoslav
65895facf2 am 39f35336: am d3786a59: Merge "Print preview disappearing if printer is changed." into lmp-mr1-dev
* commit '39f35336e528434e59f4ea317498919d8d4f9dbd':
  Print preview disappearing if printer is changed.
2014-10-30 23:44:43 +00:00
Baligh Uddin
abeca149d7 Import translations. DO NOT MERGE
Change-Id: I37bac04e94e138a6bea3d16bbbad8926bf3d98bd
Auto-generated-cl: translation import
2014-10-30 13:15:49 -07:00
Svetoslav
7c053c1e41 Print preview disappearing if printer is changed.
This is a regression caused by my previous patch.

Change-Id: I80a0b4d880fd4e48e6a44fac303a4c8204e8ec0d
2014-10-29 13:50:42 -07:00
Svet Ganov
a6a440b691 am b32f04b7: Merge "Printing from two apps at the same time not working." into lmp-mr1-dev
automerge: 5e1e4ef

* commit '5e1e4ef41917315c46e577ddabb469164c56c515':
  Printing from two apps at the same time not working.
2014-10-25 00:51:05 +00:00
Svet Ganov
b32f04b785 Merge "Printing from two apps at the same time not working." into lmp-mr1-dev 2014-10-25 00:16:58 +00:00
Svet Ganov
99a82437ed Printing from two apps at the same time not working.
When printing from two apps at the same time the second print UI is
getting stuck. There were a couple of issues here:

AdapterView was not notifying for item selection if the data changes
after scheduling a dalayed selection notification and the notification
execution. The code assumed that a layout pass will occur and posponed
the notification after the layout pass but it is not guaranteed that
such a layout pass will occur. Now we delay only if a layout pass is
being scheduled.

Also when binding to the PDF rendering service the print spooler was
using the same intent and as a result two print activites were getting
the same renderer instance while they should get separate ones. Now
we use different data in the intent to ensure we get separate renderer
instances.

Change-Id: I6aa7c7b041957804b4273549dd837a6d70064efc
2014-10-24 17:02:32 -07:00
Svet Ganov
d1cd77254b Merge "Crash in print spooler if printing app killed from recents." into lmp-mr1-dev automerge: 7cf7c36
automerge: fb7c62c

* commit 'fb7c62c143d210b9ecd01c3054ae2dfbd0dda2b6':
  Crash in print spooler if printing app killed from recents.
2014-10-24 21:27:22 +00:00
Svet Ganov
7cf7c36438 Merge "Crash in print spooler if printing app killed from recents." into lmp-mr1-dev 2014-10-24 20:32:19 +00:00
Svet Ganov
4237c92d85 Crash in print spooler if printing app killed from recents.
If the printing app with the print UI on top is killed from recents we get
a crash because: 1) the remote print document was not transitioned to a
failed state if the printing app dies (this is an unrecoverable failure);
2) the print preview controller was destroyed asyncronosly during which it
also asynchronously disconnects from the rendering service which however
happens after the system has already cleaned up all connections of the print
UI activity as it is being destoryed.

bug:18109386

Change-Id: If6200b14a8aa90622228bbb659e9c4962226f561
2014-10-24 13:01:54 -07:00
Svet Ganov
026e959d11 am 0abcda59: am fdef09ec: Merge "Sometimes historical printers not properly ordered." into lmp-mr1-dev
* commit '0abcda5929aac1746219c87dbdd26c33d990f3c6':
  Sometimes historical printers not properly ordered.
2014-10-24 16:52:44 +00:00
Svet Ganov
2916f658c9 Sometimes historical printers not properly ordered.
We order printers based on past usage. In some cases the ordering
does not work. The reason for that was an incorrect assumption that
the entries in an ArrayMap are ordered in the order they are added.

bug:18109283

Change-Id: Ie367e4ca5e6bd79f335a060074c9211054e3a931
2014-10-23 20:10:10 -07:00
Svet Ganov
532f0a2954 am 9920a0dc: Merge "Set copies to one when saving to PDF." into lmp-mr1-dev
automerge: 9dec5df

* commit '9dec5df3a3df9df1786a7a9e74f140e1c165272e':
  Set copies to one when saving to PDF.
2014-10-24 02:03:10 +00:00
Svet Ganov
9920a0dcf1 Merge "Set copies to one when saving to PDF." into lmp-mr1-dev 2014-10-23 23:17:04 +00:00
Svet Ganov
45e50e99cd Set copies to one when saving to PDF.
One can save only one copy to PDF. Showing more that one copy when saving
to PDF enven in a disabled input box is confusing to the user. We now set
the copies to one when the PDF printer is selected.

bug:17631303

Change-Id: Ia04d144efc899e7f3836c19349d9c87f3ae8f0f0
2014-10-23 19:43:54 +00:00
Svetoslav
4e3b2426ac am a23ad0b7: am 0c8e15c0: am 60cdb909: am 0a1ffdb3: Merge "Handle if the printing app is killed while saving to PDF." into lmp-dev
* commit 'a23ad0b7dd159e7fb0e8c2ff6b86683c7da6225e':
  Handle if the printing app is killed while saving to PDF.
2014-10-15 02:07:02 +00:00
Svetoslav
0c8e15c016 am 60cdb909: am 0a1ffdb3: Merge "Handle if the printing app is killed while saving to PDF." into lmp-dev
* commit '60cdb909304f0d4b93a1a17228bdcc888f16cf41':
  Handle if the printing app is killed while saving to PDF.
2014-10-14 22:21:45 +00:00
Svetoslav
60cdb90930 am 0a1ffdb3: Merge "Handle if the printing app is killed while saving to PDF." into lmp-dev
* commit '0a1ffdb3f89705eeeb89349fcd31c82b2d15b0a5':
  Handle if the printing app is killed while saving to PDF.
2014-10-14 22:15:26 +00:00
Svetoslav
9784d4b8f3 am 0a1ffdb3: Merge "Handle if the printing app is killed while saving to PDF." into lmp-dev
* commit '0a1ffdb3f89705eeeb89349fcd31c82b2d15b0a5':
  Handle if the printing app is killed while saving to PDF.
2014-10-14 22:15:09 +00:00
Svetoslav
05e041b013 Handle if the printing app is killed while saving to PDF.
When saving to PDF we bring up the file picker UI which covers
the print UI. In this case the printing app may get killed as
it is not in the forground (the system is bound to the print
spooler so it cannot get killed). If that happens we are ending
up with an empty file. However, if the file chooser UI is up
we already have everything from the app we need and it dying
does not matter. This change takes care if ignoring printing
app death while saving to PDF.

bug:17922948

Change-Id: I10d808e3c3e93e850dbc2a948f2482381a887928
2014-10-14 14:16:12 -07:00
Svet Ganov
0d70c69f25 am e0818520: am 40014e1d: Merge "Custom print settings cannot change resolution." into lmp-mr1-dev
* commit 'e081852014538b01f06c61ea8c2f1499606a1d8a':
  Custom print settings cannot change resolution.
2014-10-07 22:49:09 +00:00
Svet Ganov
2eb7fadcd6 Custom print settings cannot change resolution.
bug:17677133

Change-Id: Ib8a24101f12d431fe221c1e91711d93a6a517273
2014-10-07 15:32:31 -07:00
Geoff Mendal
c1a064dd94 Import translations. DO NOT MERGE
Change-Id: I391b269b0d535fa7d8a4082cb0271b0aeb16a497
Auto-generated-cl: translation import
2014-10-06 10:56:58 -07:00
Geoff Mendal
f65288da06 Import translations. DO NOT MERGE
Change-Id: Ieb7aeaea1204f4ba7daf3abd7a30f647564807dd
Auto-generated-cl: translation import
2014-10-06 10:55:10 -07:00
Geoff Mendal
86dec04749 Import translations. DO NOT MERGE
Change-Id: I2100b649d1f2866cdc5ffd13f264afba347b6685
Auto-generated-cl: translation import
2014-10-06 10:54:01 -07:00
Svetoslav
ab1e1bdbdc am 7288d989: am 903365a9: am 59bb49fb: am 922fcc2f: Merge "Crash in print spooler if save to PDF selected early." into lmp-dev
* commit '7288d9899020d4359ecbb2abe99fa8755547c874':
  Crash in print spooler if save to PDF selected early.
2014-09-30 14:57:19 +00:00
Svetoslav
7e7e23f50c am 1662a9b9: am 90f2f122: am 1fd73590: am b179bed3: Merge "Fix carsh in print spooler if custom print setings return bad pages." into lmp-dev
* commit '1662a9b9ad82a2599fc6c54e6a51ae5d290b9172':
  Fix carsh in print spooler if custom print setings return bad pages.
2014-09-30 14:57:14 +00:00
Svetoslav
ce8d47600b am 922fcc2f: Merge "Crash in print spooler if save to PDF selected early." into lmp-dev
* commit '922fcc2f9e2370b34672af0e91e5754c6f8d6da7':
  Crash in print spooler if save to PDF selected early.
2014-09-30 14:55:04 +00:00
Svetoslav
ed62f5d8c8 am b179bed3: Merge "Fix carsh in print spooler if custom print setings return bad pages." into lmp-dev
* commit 'b179bed35302704bce809029ab424f919de351c3':
  Fix carsh in print spooler if custom print setings return bad pages.
2014-09-30 14:55:03 +00:00
Svetoslav
59bb49fbf7 am 922fcc2f: Merge "Crash in print spooler if save to PDF selected early." into lmp-dev
* commit '922fcc2f9e2370b34672af0e91e5754c6f8d6da7':
  Crash in print spooler if save to PDF selected early.
2014-09-29 02:55:26 +00:00
Svetoslav
1fd7359038 am b179bed3: Merge "Fix carsh in print spooler if custom print setings return bad pages." into lmp-dev
* commit 'b179bed35302704bce809029ab424f919de351c3':
  Fix carsh in print spooler if custom print setings return bad pages.
2014-09-29 02:55:18 +00:00
Svetoslav
922fcc2f9e Merge "Crash in print spooler if save to PDF selected early." into lmp-dev 2014-09-28 21:00:23 +00:00
Svetoslav
e1dcb397d5 Crash in print spooler if save to PDF selected early.
The first issue is that the save to pdf button is enabled
before the first layout completed and at this point we do
not know anything about the document. The second is that
if a layout is in progress and we select save to pdf we
end up starting the documents UI twice and finishing the
second instance carshes the spooler.

bug:17676878

Change-Id: Id0b1f06e4d377347286c2dde09669d431441234b
2014-09-28 20:05:57 +00:00
Svetoslav
528424c26c Fix carsh in print spooler if custom print setings return bad pages.
The custom settings activity of a print serivce can change the selected
pages and the spooler was not checking whether the returned pages were
valid leading to a crash.

bug:17678553

Change-Id: Id8ea3d482d2909b97a06752d61b416dfe5948483
2014-09-28 20:05:45 +00:00
Svetoslav
067f3fbfdf am 0804f1f5: am d32e5cc8: am 737fa54b: am 299a89b5: Merge "Print spooler should not crash if fed non-PDF content." into lmp-dev
* commit '0804f1f543686026febf980614b4d98254c86b8f':
  Print spooler should not crash if fed non-PDF content.
2014-09-24 22:54:15 +00:00
Svetoslav
9ad7872095 am 299a89b5: Merge "Print spooler should not crash if fed non-PDF content." into lmp-dev
* commit '299a89b50f1268f3c4cd0e58727f7d7805b573b2':
  Print spooler should not crash if fed non-PDF content.
2014-09-24 20:34:05 +00:00
Svetoslav
9aacf5d3f2 am 299a89b5: Merge "Print spooler should not crash if fed non-PDF content." into lmp-dev
* commit '299a89b50f1268f3c4cd0e58727f7d7805b573b2':
  Print spooler should not crash if fed non-PDF content.
2014-09-24 20:33:54 +00:00
Svetoslav
d23bfa9d42 Print spooler should not crash if fed non-PDF content.
It is possible that a buggy app breaks the contract and provides
content to be printed in format other than PDF. This was leading
to a crash in the print spooler. This change fixes the crash and
shows a user friendly error message.

bug:17642690

Change-Id: I5a4acb06080a152562655da6851467b3e71d8658
2014-09-24 13:22:35 -07:00
Svetoslav
eaf576b0b0 am cbcb9786: am 5d554082: am 1f859a83: am 15c86a84: Merge "Missing pages in print preview when scorolling." into lmp-dev
* commit 'cbcb97862c9122a02811f58865679f0ea7ce1e7c':
  Missing pages in print preview when scorolling.
2014-09-24 16:20:50 +00:00
Svetoslav
f61ed942cd am 15c86a84: Merge "Missing pages in print preview when scorolling." into lmp-dev
* commit '15c86a84a5b595b43eecec611de22e6bd0c0eea4':
  Missing pages in print preview when scorolling.
2014-09-24 15:33:58 +00:00