History log of /frameworks/base/core/java/android/net/NetworkInfo.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67c382192614dfab821666c4f35f1e2c8b97271b 05-Sep-2013 Wink Saville <wink@google.com> Do not change NetworkInfo.DetailedState.

I'd changed DetailedState to force ConnectivityService to treat
provisioning apn's specially. In particular so that they wouldn't
be identified they were fully connected until the provisioning
actually started. The problem is that DetailedState is a public enum
that has a CTS test and just changing the CTS to allow for the new
state (CONNECTED_TO_PROVISIONING_NETWORK) was inappropriate.

Instead I've added a new mIsConnectedToProvisioningNetwork variable
and used the DetailedState.SUSPENDED as the intermediate state.

Bug: 10620248
Change-Id: Id4a842398cad67455541ce629959351c27d83639
/frameworks/base/core/java/android/net/NetworkInfo.java
948282b0e6cf5310f09db97a4ae939db7c1cef72 29-Aug-2013 Wink Saville <wink@google.com> Add support for handling mobile provisioning networks.

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
/frameworks/base/core/java/android/net/NetworkInfo.java
836ecb539f32bcb5b404fb74897f23574f272bb8 03-Jan-2013 Jeff Sharkey <jsharkey@android.com> Expose roaming flag for testing.

Change-Id: I29ef6fc59926a97f4e97c561387ac9bc0e4e4769
/frameworks/base/core/java/android/net/NetworkInfo.java
da6da0907b28d4704aabbdb1bbeb4300954670d1 16-Aug-2012 Irfan Sheriff <isheriff@google.com> Captive portal handling

We now notify the user of a captive portal before switching to the network as default.
This allows background applications to continue to work until the user confirms he
wants to sign in to the captive portal.

Also, moved out captive portal handling out of wifi as a seperate component.

Change-Id: I7c7507481967e33a1afad0b4961688bd192f0d31
/frameworks/base/core/java/android/net/NetworkInfo.java
07573b32494acbabd21979d8b9584c1ed3f7a6ad 28-Jan-2012 Irfan Sheriff <isheriff@google.com> Improve Wi-Fi hand-off

When Wi-fi connects at L2 layer, the beacons reach and the device
can maintain a connection to the access point, but the application
connectivity can be flaky (due to bigger packet size exchange).

We now use Watchdog to monitor the quality of the last hop on
Wi-Fi using signal strength and ARP connectivity as indicators
to decide if the link is good enough to switch to Wi-Fi as the uplink.

ARP pings are useful for link validation but can still get through
when the application traffic fails to go through and thus not best indicator
real packet loss since they are tiny packets (28 bytes) and have
much low chance of packet corruption than the regular data
packets.

Signal strength and ARP used together ends up working well in tests.
The goal is to switch to Wi-Fi after validating ARP transfer
and RSSI and then switching out of Wi-Fi when we hit a low
signal strength threshold and waiting until the signal strength
improves and validating ARP transfer.

Change-Id: Ica593291ec7772da892f03cf45b649635b730c47
/frameworks/base/core/java/android/net/NetworkInfo.java
d60ae7f6688ea83df536c2eb1101a74ae1914ac6 03-Nov-2011 Doug Zongker <dougz@android.com> store the hw addr in the extraInfo field of ethernet NetworkInfos
/frameworks/base/core/java/android/net/NetworkInfo.java
671644c3ef92a9153ea5bd495e132d5fe6674234 07-Oct-2011 Scott Main <smain@google.com> docs: some helpful javadocs for network info

Change-Id: I8f1879bf10acd6371a76f11a8e5ec08643c3f943
/frameworks/base/core/java/android/net/NetworkInfo.java
c006f1aec15454782c35e028ad64d79a5c161cc1 20-May-2011 Jeff Sharkey <jsharkey@android.com> Policy and rules work for ConnectivityManager.

Teach ConnectivityManager about UID-specific rules derived from policy,
such as rejecting network traffic on "paid" interfaces. Calls that
return NetworkInfo now filter based on any REJECT rules in effect for
the calling UID. (Added uid parameter if callers that still want all
interfaces.)

Changed NetworkPolicyManager to derive rules based on current policy
combined with PowerManager and ActivityManager status, which it passes
to ConnectivityService for eventual enforcement through netd. When
rules change the usability of a NetworkInfo for a specific UID, it also
dispatches CONNECTIVITY_ACTION broadcasts to that UID. Combined paid
and background policy together to match current working definition.

Change-Id: I797ea49439fcc487cfe2cbc16703d4b91ceb9af6
/frameworks/base/core/java/android/net/NetworkInfo.java
a2a1b911a31dd94ee75e94845f762b91f1db1368 07-Jun-2010 Irfan Sheriff <isheriff@google.com> Refactor WifiStateTracker

Implement WifiStateTracker as a HSM.

Change-Id: Ic12fd78f1f183b5c4dea8ad2301002267ceff0cb
/frameworks/base/core/java/android/net/NetworkInfo.java
d649c12815bcf944b2c97371f3f60716a42a1557 10-Jun-2010 Irfan Sheriff <isheriff@google.com> Make NetworkStateTracker an interface

As part of the WifiStateTracker cleanup, need
to have NetworkStateTracker as an interface.

Change-Id: I2ac48d7e4c7274ac4df40bc3b8591b182956a936
/frameworks/base/core/java/android/net/NetworkInfo.java
8206ff30c23c76851bebc8d72a65e65b0f7f9a29 11-Sep-2009 Robert Greenwalt <robdroid@android.com> Fix for multi-apn MMS access.

Mark cellular variants with the same availability, regardless of which are currently in use.
Availability just means the radio is enabled and sees the network, but has no guarantees that
we could connect to an APN if requested.

Fix the requestRouteToHost logic to support apn switches without WIFI.

bug:2093841
/frameworks/base/core/java/android/net/NetworkInfo.java
2ecc74f330959be0a3bde10e55110a8218c0887c 15-Apr-2009 Eric Shienbrood <> AI 146222: Manual merge of 145980 from donutburger => master.

Automated import of CL 146222
/frameworks/base/core/java/android/net/NetworkInfo.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/net/NetworkInfo.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/net/NetworkInfo.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/net/NetworkInfo.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/net/NetworkInfo.java