Added method for returning preferred proxy which takes both
localhost and Wi-Fi into account. This is a convenient method
to clients which only wants to set a correct proxy and don't
want to build in dependency to if Wi-Fi is active or not.
Currently no Wi-Fi proxy is supported by the system, but once
added, this method could return a suitable proxy for Wi-Fi.
Change-Id: I8c9c2879351fd25a20ea82a2cb000f226248c357
The HTTP specification states the following about the fields:
Multiple message-header fields with the same field-name MAY be present
in a message if and only if the entire field-value for that header field
is defined as a comma-separated list [i.e., #(values)]. It MUST be
possible to combine the multiple header fields into one "field-name:
field-value" pair, without changing the semantics of the message, by
appending each subsequent field-value to the first, each separated by a
comma. The order in which header fields with the same field-name are
received is therefore significant to the interpretation of the combined
field value, and thus a proxy MUST NOT change the order of these field
values when a message is forwarded.
Change-Id: I1a6fe5cc8f541f8e80d559641d270d09eac9d85c
we can continue the interrupted request to support
streaming the content even with a brief disconnection.
Note: we don't update the headers for partial content
as the headers we care should not be updated. See
a list in chromium/net/http/http_response_headers.cc.
We currently also don't support cache for partial content.
Fix http://b/issue?id=2616477
Old calc was off by 2x and was affected by the user-settable system clock. The error
came because it was calculating the offset between our clock and the NTP clock and the algebra
had two factors of the offset instead of the desired 1.
bug:2600010
Change-Id: I0856091d32b50e6909e4889fb98df819e0aeabbe
Added ContentObserver to watch relevant Secure Settings.
Also added new policy-change broadcast to let settings know.
Lastly reorged things a bit so that all of our broadcasts are sent at boot so the sticky ones
are populated.
bug:2576057
Change-Id: Ie11ffb057de9c801a5088612cd464ea062f3a666
Also change phone's ConnectionStateTrackers to use it directly,
rather than through the INetStat binder interface.
Bug: 2578938
Change-Id: I8858e2609cbec3be845a0ce5178cb03f67e01b41
A key bit of code was lost in change 38/25338/5 (2009/09/17 change
of RequestQueue.java) which caused us to not pick up proxy settings.
Putting it back.
bug:2364475
Change-Id: I1e79858f64d8e793a966ef8e6f7a0d3f2a02251f
It's the base class for some public classes, so it needs to be public
as well according to the CTS rules.
Bug: 2537352
Change-Id: Ie2f8141d56907e1d0f4a3a040204b7b14d1fd79a
buffer is full. In that case, WebCore instructs the laoder to pause loading to give the plugin a chance to clear it's buffer and
continue.
Requires an external/webkit change.
Change-Id: Iec96a6325d92e979cbdc53289c2a20cad940ded2
Two more cases of "View certificate" problems like b/2511635
One problem is that if there are multiple resources downloaded for a
page. In that case the mCertificate shown ends up being from the last
loaded resource instead of the main resource of the page. The solution
is to only set the certificate if the LoadListener is the
mIsMainResourceLoader as well as the mIsMainPageLoader.
A larger problem was the fact that the EventHandler.certificate
interface method (in this case the LoadListener.certificate
implementation) once per https connection instead of once per request
as was documented. That meant if an https connection was reused (which
happens frequently on login pages such as
https://www.google.com/accounts which use the POST -> redirect -> GET
idiom to avoid POST data page refresh warnings) then later pages never
were associated with an SslCertificate.
The solution was to change EventHandler.certificate to be called once
per request, specifcally before the request. This means we no longer
call the certificate method in the handleSslErrorRequest case, which
is okay because it includes the SslCertificate within the SslError and
that is what the BrowserActivity expects.
Change-Id: Icbd9bd98c89db82762d1d06de85e1cde2470300d
If the phone comes up in airplane mode you and you turn it off,
you can currently end with both mobile and wifi turned on.
bug:2524413
Change-Id: I7a841c955be9038109d0b220070406a3fbd3e8e9
Bug shows we lost contact with the phone service. We used to leave the notion of enabled alone
in this case, but that can lead to being out of sync (the mobile data connection may be
alive or come alive but if we think it is dead we ignore it). Changing our
notion of its enabled-ness to 'enabled' means we'll pay attention to its messages going forward,
and since after a reboot it starts enabled we'll actually be in sync.
bug:2323057
Change-Id: Ie080b50d764e6879e712507aceb68f585f12f94e
A recent change made the HiPri MobileDataStateTracker listen for notifications
about the default connection (which HiPri shadows). Local code was sending
itself a notification using the old HiPri badging instead of the new Default
badging and those notifications where therefore ignored.
Manifested itself on HiPri connections when we were already on 3g.
See change 42422 on master platform/frameworks/base for the change this is completing.
Change-Id: I375026048724d0035297287c61c6c2f58d4e0294
Currently, the regex used to extract the port matches ':' followed by 1 or more
digits. This means that when passed a malformed URL of type <host>:<path>, no
match is made for the port and the ':' is matched as part of the path. Since the
handling of the path adds a leading '/' where absent (see http://b/1011602),
this leads to the URL being converted to <host>/:<path>.
This change updates the port regex to match ':' followed by zero or more digits.
This means that the ':' is always matched, so it does not leak into the path
and the result is <host><path>. This matches the behavior of desktop browsers.
Bug: 2494876
Change-Id: I34b47c8187cf03aa7674c14cd6593de53dce3169
Also make the usb interface configuration more robust so retries are possible.
Makes all Tethering errors recoverable - no harm letting them try again anyway. Worst case
is they need to reboot.
To avoid external tampering with Dates withing SslCertificate by code
holding on to pointers to Dates used in the constructor or code
mutating values returned by the accessors, we now clone Dates taking
in as arguments and returned to callers.
While working on out openssl code, I found a Y2k bug that the dates
from invalidate certificates could be shown as 1909 instead of 2009.
The reason was because SslCertificate/BrowserActivity passed the
values around as Strings even though the started as Dates (from
X509Certificate) and were converted backed to Dates before
presentation by BrowserActivity's reformatCertificateDate.
SslCertificate now maintains date fields internally as Date objects
without converting them to Strings. The constructor and String
accessors, which are now @deprecated, now specify the format as an ISO
8601 date string which uses 4 digit years.
BrowserActivity now reformatCertificateDate is now simply
formatCertificateDate and no longer has to convert from String to Date
and back to String to get proper Locale formatting.
CTS SslCertificateTest also updated.
This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.