am 59a9884b
: Merge "Do not change NetworkInfo.DetailedState." into jb-mr2-dev
* commit '59a9884bf8280e2db9db7680370e98f40a065d56': Do not change NetworkInfo.DetailedState.
This commit is contained in:
@ -190,6 +190,8 @@ public class MobileDataStateTracker implements NetworkStateTracker {
|
||||
private class MobileDataStateReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
// Assume this isn't a provisioning network.
|
||||
mNetworkInfo.setIsConnectedToProvisioningNetwork(false);
|
||||
if (intent.getAction().equals(TelephonyIntents.
|
||||
ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN)) {
|
||||
String apnName = intent.getStringExtra(PhoneConstants.DATA_APN_KEY);
|
||||
@ -205,7 +207,11 @@ public class MobileDataStateTracker implements NetworkStateTracker {
|
||||
// Make us in the connecting state until we make a new TYPE_MOBILE_PROVISIONING
|
||||
mMobileDataState = PhoneConstants.DataState.CONNECTING;
|
||||
updateLinkProperitesAndCapatilities(intent);
|
||||
setDetailedState(DetailedState.CONNECTED_TO_PROVISIONING_NETWORK, "", apnName);
|
||||
mNetworkInfo.setIsConnectedToProvisioningNetwork(true);
|
||||
|
||||
// Change state to SUSPENDED so setDetailedState
|
||||
// sends EVENT_STATE_CHANGED to connectivityService
|
||||
setDetailedState(DetailedState.SUSPENDED, "", apnName);
|
||||
} else if (intent.getAction().equals(TelephonyIntents.
|
||||
ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) {
|
||||
String apnType = intent.getStringExtra(PhoneConstants.DATA_APN_TYPE_KEY);
|
||||
|
@ -83,13 +83,7 @@ public class NetworkInfo implements Parcelable {
|
||||
/** Link has poor connectivity. */
|
||||
VERIFYING_POOR_LINK,
|
||||
/** Checking if network is a captive portal */
|
||||
CAPTIVE_PORTAL_CHECK,
|
||||
/**
|
||||
* Network is connected to provisioning network
|
||||
* TODO: Probably not needed when we add TYPE_PROVISIONING_NETWORK
|
||||
* @hide
|
||||
*/
|
||||
CONNECTED_TO_PROVISIONING_NETWORK
|
||||
CAPTIVE_PORTAL_CHECK
|
||||
}
|
||||
|
||||
/**
|
||||
@ -114,7 +108,6 @@ public class NetworkInfo implements Parcelable {
|
||||
stateMap.put(DetailedState.DISCONNECTED, State.DISCONNECTED);
|
||||
stateMap.put(DetailedState.FAILED, State.DISCONNECTED);
|
||||
stateMap.put(DetailedState.BLOCKED, State.DISCONNECTED);
|
||||
stateMap.put(DetailedState.CONNECTED_TO_PROVISIONING_NETWORK, State.CONNECTED);
|
||||
}
|
||||
|
||||
private int mNetworkType;
|
||||
@ -127,6 +120,8 @@ public class NetworkInfo implements Parcelable {
|
||||
private String mExtraInfo;
|
||||
private boolean mIsFailover;
|
||||
private boolean mIsRoaming;
|
||||
private boolean mIsConnectedToProvisioningNetwork;
|
||||
|
||||
/**
|
||||
* Indicates whether network connectivity is possible:
|
||||
*/
|
||||
@ -155,6 +150,7 @@ public class NetworkInfo implements Parcelable {
|
||||
mState = State.UNKNOWN;
|
||||
mIsAvailable = false; // until we're told otherwise, assume unavailable
|
||||
mIsRoaming = false;
|
||||
mIsConnectedToProvisioningNetwork = false;
|
||||
}
|
||||
|
||||
/** {@hide} */
|
||||
@ -171,6 +167,7 @@ public class NetworkInfo implements Parcelable {
|
||||
mIsFailover = source.mIsFailover;
|
||||
mIsRoaming = source.mIsRoaming;
|
||||
mIsAvailable = source.mIsAvailable;
|
||||
mIsConnectedToProvisioningNetwork = source.mIsConnectedToProvisioningNetwork;
|
||||
}
|
||||
}
|
||||
|
||||
@ -329,6 +326,22 @@ public class NetworkInfo implements Parcelable {
|
||||
}
|
||||
}
|
||||
|
||||
/** {@hide} */
|
||||
@VisibleForTesting
|
||||
public boolean isConnectedToProvisioningNetwork() {
|
||||
synchronized (this) {
|
||||
return mIsConnectedToProvisioningNetwork;
|
||||
}
|
||||
}
|
||||
|
||||
/** {@hide} */
|
||||
@VisibleForTesting
|
||||
public void setIsConnectedToProvisioningNetwork(boolean val) {
|
||||
synchronized (this) {
|
||||
mIsConnectedToProvisioningNetwork = val;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reports the current coarse-grained state of the network.
|
||||
* @return the coarse-grained state
|
||||
@ -412,7 +425,9 @@ public class NetworkInfo implements Parcelable {
|
||||
append(", extra: ").append(mExtraInfo == null ? "(none)" : mExtraInfo).
|
||||
append(", roaming: ").append(mIsRoaming).
|
||||
append(", failover: ").append(mIsFailover).
|
||||
append(", isAvailable: ").append(mIsAvailable);
|
||||
append(", isAvailable: ").append(mIsAvailable).
|
||||
append(", isConnectedToProvisioningNetwork: ").
|
||||
append(mIsConnectedToProvisioningNetwork);
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
@ -440,6 +455,7 @@ public class NetworkInfo implements Parcelable {
|
||||
dest.writeInt(mIsFailover ? 1 : 0);
|
||||
dest.writeInt(mIsAvailable ? 1 : 0);
|
||||
dest.writeInt(mIsRoaming ? 1 : 0);
|
||||
dest.writeInt(mIsConnectedToProvisioningNetwork ? 1 : 0);
|
||||
dest.writeString(mReason);
|
||||
dest.writeString(mExtraInfo);
|
||||
}
|
||||
@ -462,6 +478,7 @@ public class NetworkInfo implements Parcelable {
|
||||
netInfo.mIsFailover = in.readInt() != 0;
|
||||
netInfo.mIsAvailable = in.readInt() != 0;
|
||||
netInfo.mIsRoaming = in.readInt() != 0;
|
||||
netInfo.mIsConnectedToProvisioningNetwork = in.readInt() != 0;
|
||||
netInfo.mReason = in.readString();
|
||||
netInfo.mExtraInfo = in.readString();
|
||||
return netInfo;
|
||||
|
@ -890,8 +890,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
// Find the first Provisioning Network
|
||||
NetworkInfo provNi = null;
|
||||
for (NetworkInfo ni : getAllNetworkInfo()) {
|
||||
if (ni.getDetailedState()
|
||||
== NetworkInfo.DetailedState.CONNECTED_TO_PROVISIONING_NETWORK) {
|
||||
if (ni.isConnectedToProvisioningNetwork()) {
|
||||
provNi = ni;
|
||||
break;
|
||||
}
|
||||
@ -2805,7 +2804,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
NetworkInfo.State state = info.getState();
|
||||
|
||||
if (VDBG || (state == NetworkInfo.State.CONNECTED) ||
|
||||
(state == NetworkInfo.State.DISCONNECTED)) {
|
||||
(state == NetworkInfo.State.DISCONNECTED) ||
|
||||
(state == NetworkInfo.State.SUSPENDED)) {
|
||||
log("ConnectivityChange for " +
|
||||
info.getTypeName() + ": " +
|
||||
state + "/" + info.getDetailedState());
|
||||
@ -2820,7 +2820,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
if (ConnectivityManager.isNetworkTypeMobile(info.getType())
|
||||
&& (0 != Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.DEVICE_PROVISIONED, 0))
|
||||
&& (state == NetworkInfo.State.CONNECTED)) {
|
||||
&& ((state == NetworkInfo.State.CONNECTED)
|
||||
|| info.isConnectedToProvisioningNetwork())) {
|
||||
checkMobileProvisioning(CheckMp.MAX_TIMEOUT_MS);
|
||||
}
|
||||
|
||||
@ -2833,8 +2834,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
} else if (info.getDetailedState() ==
|
||||
DetailedState.CAPTIVE_PORTAL_CHECK) {
|
||||
handleCaptivePortalTrackerCheck(info);
|
||||
} else if (info.getDetailedState() ==
|
||||
DetailedState.CONNECTED_TO_PROVISIONING_NETWORK) {
|
||||
} else if (info.isConnectedToProvisioningNetwork()) {
|
||||
/**
|
||||
* TODO: Create ConnectivityManager.TYPE_MOBILE_PROVISIONING
|
||||
* for now its an in between network, its a network that
|
||||
@ -4197,8 +4197,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
// If provisioning network handle as a special case,
|
||||
// otherwise launch browser with the intent directly.
|
||||
NetworkInfo ni = getProvisioningNetworkInfo();
|
||||
if ((ni != null) && ni.getDetailedState() ==
|
||||
NetworkInfo.DetailedState.CONNECTED_TO_PROVISIONING_NETWORK) {
|
||||
if ((ni != null) && ni.isConnectedToProvisioningNetwork()) {
|
||||
if (DBG) log("handleMobileProvisioningAction: on provisioning network");
|
||||
MobileDataStateTracker mdst = (MobileDataStateTracker)
|
||||
mNetTrackers[ConnectivityManager.TYPE_MOBILE];
|
||||
|
Reference in New Issue
Block a user