- Cache media_standard_iso
- Cache labels between configuration changes (localization might
change labels)
- Use ints instead of String's for standards
- Use HashMap instead of Array map as the lookup is faster for
larger arrays
Fixes: 29068056
Change-Id: I027c80fac4d7e8ea6c2cac0f1a2d52b54807f5be
The full screen "number" keyboard strips all non-numeric letters
out of the text field.
Bug: 29004437
Change-Id: Ic7e79106a7fcf0716a28061592221557b9d62f52
- Declare a printers availability when changing the removed state.
- Set printJob.printerId to current printer when returning from
SelectPrinter
Change-Id: Ie4680be04fa614a4088f2f32a527e80928c957cc
Fixes: 27643305
Otherwise the following can happen:
- The progressController is _not_ running and we are running through
an update.
- Then onUpdateCompleted is called which cancels the not running
progressController. This then reset whatever state was previously
stored as mPreviousState leaving the PrintActivity in a weird state.
Fixes: 27945565
Change-Id: Id46b8853ba634634198a74921c8a1790c435678c
This should never happen unless you disable the DocumentsUI app. Hence
handle it by a simple toast.
Bug: 28709934
Change-Id: Iac4aff32617120c442e0f994a2a8c0ce3cca380d
- The PrintActivity has to handle all config changes to not loose track
close the connection to the printing app
- In the case where onDestroy is called we need to make sure to
- not do any more UI operation
- on async calls after destroy is already called, handle failure to
unbind services.
Change-Id: If21335543fbfa16ecfe77d1965b2e8a13dfa14b8
If the leader inside of the printer registry can immediately initalize
the callback is called in the same thread as the contructor is
executing. Hence in this case the mPrinterRegistry field is used before
written.
Change-Id: I45239d2792f6c31ec215ddb01131038882ff0136
- Support unbounded ranges, e.g. 4- == 4-pageCount and -2 == 1-2
- Do not allow reverse ranges, i.e. 7-3 is not allowed anymore
- restrict characters that can be typed into field
- force numeric keyboard
- Fix bug that we update the selected pages even if the page ranges are
invalid
Fixes: 13126748
Change-Id: I515d9346ceb152a41b7260792c5dd9bd91b27cab
scrap
documentInfo.PageCount might be set to "unknown" == -1. Hence we don't
know where the last page to scrap ends. Hence defer this decision all
way until PdfManipulationService.removePages as then we know the actual
pages of the document.
Change-Id: I063c3cd084d65a3ac5c60c3d85cec3a346be2680
Fixed: 27948632
This service connects through the print manager to the print spooler:
PrintSpooler.AddPrintersActivity <-> PrintManager <-> PrintManagerService <-> UserState <-> RemotePrintServiceRecommendationService <-> PrintRecommendationService <-> PrintRecommendationServiceImpl
Hence there is a lot of mindless plumming.
The actual changes are only in the AddPrintersActivity which is extended
to show another list of services: The recommended services.
The PrintServiceRecommendationService is based on the experimenal print
service stubs provider. This provider was contributed the Android by
Mopria. As this services uses Android own network discovery service most
code from the experimental provider goes away. In fact the only logic
left over is the selections of mdns-txt fields to look at and the
printer vendor configuration.
This relies on the Android MDNS to get fixed (Bug: 27696905). This also
does not deal with how to update the recommendation service.
Bug: 24533249
Change-Id: I6edc6e25fc08a50d478b61c71bb8ea158b08624c
... if it cannot connect to remote PrintDocumentAdapter. Then the state
will be set to destroyed and the print activity will be aborted via the
onDied callback.
Bug: 27899066
Change-Id: Ieb287b92ac21fc71a56b491a1035feaff6cd2837
Bonus: null advanced keys produced a exception deep in the print
spooler. Hence prevent null keys on the surface from now on.
Bug: 27716355
Change-Id: I3c064956f4e670cd7091437ade06605aa8d797b0