Bad merge from jb-mr2 to klp, the SocketTimeoutException
in isCaptivePortal should not be present. Also add debug
for bug 9972012. The SocketTimeoutException is a possible
cause of 9972012 but the logs from post #24 it was not
caused by a timeout, so this is not a fix.
Bug: 9972012
Change-Id: I290518832f8258d4682821815834f5621245b643
1. Updated the security mode of the print spooler. Now the spooler
is not signed with the system key, it is not a privileged app so if
it gets compromised (PDF rendering is a potential attack vector)
it cannot access dangerous permissions. Also only the system
can bind to the spooler.
2. Added APIs for asking a print service to start and stop tracking
a given printer. This is need for the case when the user selects
the printer and the print service should do a best effort to keep
the system updated for the current state of the printer.
3. Added APIs for putting a print job in a blocked state. A print
service would report the print job as blocked if for some reason
the printer cannot proceed, e.g. 99 pages are printed but there
is no paper for the last one. The user has to add more paper
and the print service can resume the job.
4. Changed the read/write APIs to use ParcelFileDescriptor instead
of FileDescriptor since the latter does not have a clean API for
detaching the wrapped Linux file descriptor when one wants to
push it to native.
5. Added API for getting the size of the printed document so the
print service can avoid handling big filed over cellular network
or ask the user if needed.
6. Now the print services that are preinstalled on the system image
are automatically enabled.
Change-Id: Ia06c311d3d21cabb9e1368f13928e11cd0030918
* Hide set/getPrinter methods. A change/addition like this should
happen for all views if it happens, not just for one specific view.
* Follow Android style guidelines for fields.
Bug 10549037
Change-Id: I1823d7bbbd8bcc678c5be2358ca23a8dc6dbfd15
(cherry picked from commit 916159461bf17e13c245a709935a0d1133e0ed91)
The core-tests-support library is newly created. It doesn't have any
tests itself but some support for tests that need to use mocked classes
for testing. In this case, some tests are using TestKeyStore for SSL
testing in frameworks tests.
Change-Id: I70dc31c9fcddf256b515e2c16f581648bc8cf880
This allows applications to differentiate between
the case where another app is the default, or the
case where the selection mode is "Ask every time".
Also, parse new requireDeviceUnlock attribute in
ApduServiceInfo.
Bug: 10262585
Change-Id: Icac508fe00054132574731532c05a1138edb24f5
CaptioningManager is now a first-class service in Context and can
have listeners added to it to monitor changes.
BUG: 10260603, 10461210
Change-Id: I2df5b2997537bb343d902b7ace3343ad483f3717
Per 3GPP specification 102.223,
if the alpha identifier is not provided by the UICC,
the terminal MAY give information to the user.
set to false if we need to show user confirmation
when alpha identifier is not provided by the UICC.
Change-Id: Iece01f3775baf2c6438776f899ed53b1f1fb942f
Conflicts:
core/res/res/values/config.xml
Add in an action to jump to the alarms page of a clock app.
Helpful for quick settings, for example.
Bug: 10506871
Change-Id: Ia18708c7962543911864dfaefa17d5356eed1b45
When a sim is new or it has expired it needs to be provisioned
with the carrier. Basically provisioning is associating a sim with
a user account. When a sim isn't provisioned then operators will
restrict access to the network and only allow certain addresses
or services to be used.
This set of changes allows two types of provisioning networks to be
recognized. The first is a network that causes all DNS lookups to be
redirected to a different address than was intended. This is exemplified
by how T-Mobile works.
The second technique uses a special apn for provisioning. An example is
AT&T where lwaactivate is the provisioning apn and broadband is the
normal apn. We first try broadband and if we are unable to connect we
try lwaactivate. When we see the activate we identify it as special and
the ApnContext.isProvisioningApn will return true.
In the future our plan is to create a new network type that can be added
to the apn list, but for now it identified by name.
Here is a list of significant changes:
- CaptivePortalTracker now only test WiFi networks instead of all networks
- checkMobileProvisioning checks for provisioning networks and doesn't
try to ping.
- IConnectivityManager.aidl changes:
* getProvisioningOrActiveNetworkInfo was added to and used by Manage
mobile plan in WirelessSettings so even when there is no active
network it will still allow provisioning. Otherwise it would report
no internet connection.
* setSignInErrorNotificationVisible is used by both
CaptiviePortalTracker and checkMobileProvisioning so they use the
same code for the notifications.
* checkMobileProvisioning was simplified to have only a timeout as
returning the result is now harder as we abort simultaneous call
otherwise we'd could get into loops because we now check every time
we connect to mobile.
- Enhanced MDST to handle the provisioning network.
- Added CONNECTED_TO_PROVISIONING_NETWORK to NetworkInfo to make a new
state so we don't announce to the world we're connected.
- TelephonyIntents.ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN
is sent by the low level data connection code to notify Connectivity
Service that a provisioning apn has connected. This allows CS to
handle the connection differently than a normal connection.
Bug: 10328264
Change-Id: I3925004011bb1243793c4c1b963d923dc2b00cb5
Using a contract class requires that a provider implement it exactly
with little help. This change introduces a DocumentsProvider abstract
class that provides a client-side implementation of the contract that
greatly reduces developer burden, and improves correctness.
This also moves to first-class DocumentRoot objects, and moves calls
with complex side effects to be ContentProvider.call() invocations,
offering more granular permission control over Uri operations that
shouldn't be available through Uri grants.
This new design also relaxes the requirement that root information be
burned into every Uri. Migrate ExternalDocumentsProvider and
DocumentsUI to adopt new API.
Bug: 10497206
Change-Id: I6f2b3f519bfd62a9d693223ea5628a971ce2e743
WebViewClassic created the CookieSyncManager instane as a side effect of
starting up its internal WebCoreThread. As this forms part of th API
contract (app doesn't need to call CookieSyncManager.createInstance if
it already made a WebView instance) promote this logic up to the API
layer.
Change-Id: I0e92d97be987dfef90162ad379c79b066aae34e0