am 90f2f122: am 1fd73590: am b179bed3: Merge "Fix carsh in print spooler if custom print setings return bad pages." into lmp-dev
* commit '90f2f122865e7334a76363829c01c34d805a9433': Fix carsh in print spooler if custom print setings return bad pages.
This commit is contained in:
@@ -724,10 +724,35 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
|
||||
}
|
||||
}
|
||||
|
||||
// Handle selected page changes making sure they are in the doc.
|
||||
PrintDocumentInfo info = mPrintedDocument.getDocumentInfo().info;
|
||||
final int pageCount = (info != null) ? getAdjustedPageCount(info) : 0;
|
||||
PageRange[] pageRanges = printJobInfo.getPages();
|
||||
updateSelectedPages(pageRanges, pageCount);
|
||||
if (pageRanges != null && pageCount > 0) {
|
||||
pageRanges = PageRangeUtils.normalize(pageRanges);
|
||||
|
||||
List<PageRange> validatedList = new ArrayList<>();
|
||||
final int rangeCount = pageRanges.length;
|
||||
for (int i = 0; i < rangeCount; i++) {
|
||||
PageRange pageRange = pageRanges[i];
|
||||
if (pageRange.getEnd() >= pageCount) {
|
||||
final int rangeStart = pageRange.getStart();
|
||||
final int rangeEnd = pageCount - 1;
|
||||
if (rangeStart <= rangeEnd) {
|
||||
pageRange = new PageRange(rangeStart, rangeEnd);
|
||||
validatedList.add(pageRange);
|
||||
}
|
||||
break;
|
||||
}
|
||||
validatedList.add(pageRange);
|
||||
}
|
||||
|
||||
if (!validatedList.isEmpty()) {
|
||||
PageRange[] validatedArray = new PageRange[validatedList.size()];
|
||||
validatedList.toArray(validatedArray);
|
||||
updateSelectedPages(validatedArray, pageCount);
|
||||
}
|
||||
}
|
||||
|
||||
// Update the content if needed.
|
||||
if (canUpdateDocument()) {
|
||||
|
||||
Reference in New Issue
Block a user