History log of /packages/services/BuiltInPrintService/src/com/android/bips/discovery/ManualDiscovery.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1e326d3a8ef665536a542f0ed64112dbe00a03c6 18-Jan-2018 Glade Diviney <mopriadevteam@gmail.com> Support manual-add of IPPS and other printers

The current code does not allow IPPS-only printers to be added manually.
In addition, printers located at alternate URIs cannot currently be
added.

This changes addresses both problems by searching for additional ports/
paths when doing a manual add, and also by permitting the user to
specify a scheme (ipp:// or ipps://), a port number, and/or a path along
with the hostname. If any part is not supplied, known defaults are
populated and attempted. Any dangling network attempts are cancelled when
no longer needed.

Users can review the full printer URI in the details dialog of the Add
Printer activity.

Test: Set up an IPPS-only printer and try to add it manually
Change-Id: I34f77168d523a762b83adc692cbf6a444d831cd4
Signed-off-by: Glade Diviney <mopriadevteam@gmail.com>
/packages/services/BuiltInPrintService/src/com/android/bips/discovery/ManualDiscovery.java
080c9c93d627b0b56bcfab83748915f92956930b 09-Jan-2018 Glade Diviney <mopriadevteam@gmail.com> Add support for Wi-Fi Direct printing

In environments where Wi-Fi LANs are inconvenient or unavailable, Wi-Fi Direct
connections allow users to print using an ad-hoc point-to-point network between
the mobile device and the printer. This code change allows users to discover
and add Wi-Fi Direct printers, and later select and print to them.

Because the same printer may appear both on a connected LAN and/or as a
an added Wi-Fi Direct printer, this code "de-duplicates" printer records based
on UUID. In this way, the same printer only appears once to the end user, even
if it is discovered using two different mechanisms.

The new package com.android.bips.p2p is added to manage Wi-Fi Direct discoveries
and connections. Other code is refactored as necessary according to current
style requirements. New UI Activities and Fragments are also added to expose
Wi-Fi Direct to the user.

Test: Add and print to a printer with Wi-Fi Direct capabilities
Change-Id: If4d8c7949ecc93851c07bd954674b33803b2fad5
Signed-off-by: Glade Diviney <mopriadevteam@gmail.com>
/packages/services/BuiltInPrintService/src/com/android/bips/discovery/ManualDiscovery.java
9ea209a27fb6a1236c9c51caba14abb07b8134f9 06-Oct-2017 Philip P. Moltmann <moltmann@google.com> Adjust style to fit what is enforced by checkstyle

Test: Ran check-style on every file. Now only complains about
double-copyright and missing java-doc comments
m -j BuiltInPrintService

Change-Id: I2f1052e24e54f06276ef5ae7f5821adf1b6274e1
/packages/services/BuiltInPrintService/src/com/android/bips/discovery/ManualDiscovery.java
e604a9fafd50bca9fbc86ca525196efb6f1b70b1 03-Jun-2017 Glade Diviney <mopriadevteam@gmail.com> improve printer discovery

When doing IPP Get-Attribute requests, printers that are missing or slow to respond
can slow down the discovery process dramatically. This change allows more control
over timeout, prioritization, and cancellation of Get-Attribute requests. A "first pass"
with a short timeout puts all well-behaved printers in front of the user quickly,
and a second pass with a longer timeout catches any stragglers for completeness.

Manual printer discovery is also improved here, by looking at :80/ipp/print,
capturing the full printer name from printer-dns-sd-name or printer-info if necessary,
and more consistently presenting the correct name to the user.

Test: Visit the printer list on networks having multiple printers
Change-Id: I9bfdbf17e617e8cc073f88bd03c6be1e4dfd21e7
Signed-off-by: Glade Diviney <mopriadevteam@gmail.com>
/packages/services/BuiltInPrintService/src/com/android/bips/discovery/ManualDiscovery.java
3bf66744d61d18c66d46f2608de0467ad3df0268 30-Nov-2016 Mopria <mopriaplay@gmail.com> Built-In Print Service

The Built-In Print Service implements a standard Android Print
Service and allows printing to Wi-Fi enabled printers on the users's
local network.

Printers must support mDNS discovery and the IPP protocol, and must
allow jobs to be sent in PCLm, PWG-raster, or PDF formats.

Internally, this service implements job control, page rendering, and
printer interactions in native code. This code relies on
libjpeg-turbo for JPEG encoding functions required by PCLm, and
selected portions of CUPS for direct interactions with printers.

Test: ./gradlew test
Change-Id: Ib2dca0190ba4abe028da1d9cd62308733ecce7b5
Signed-off-by: Mopria <mopriaplay@gmail.com>
/packages/services/BuiltInPrintService/src/com/android/bips/discovery/ManualDiscovery.java