summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2013-07-19 13:42:36 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-07-19 13:42:36 -0700
commit0871ac2afbc6aed99f36ee4ef565ab417ec982ff (patch)
tree6e42ecef13675633a2e61e798beb55e05a8d4c56 /services/java/com/android/server/ConnectivityService.java
parent903709d738a92de467e22f3923d2a7e4e92e9148 (diff)
parentb96cca27ba15121aab2c481786a292880c007bb6 (diff)
am b96cca27: am df43ba82: am e3badc10: Merge "When a SIM is changed check mobile provisioning." into jb-mr2-dev
* commit 'b96cca27ba15121aab2c481786a292880c007bb6': When a SIM is changed check mobile provisioning.
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-rw-r--r--services/java/com/android/server/ConnectivityService.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index d2bae28e3877..979bccd9a1b1 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -381,6 +381,9 @@ public class ConnectivityService extends IConnectivityManager.Stub {
TelephonyManager mTelephonyManager;
+ // We only want one checkMobileProvisioning after booting.
+ volatile boolean mFirstProvisioningCheckStarted = false;
+
public ConnectivityService(Context context, INetworkManagementService netd,
INetworkStatsService statsService, INetworkPolicyManager policyManager) {
// Currently, omitting a NetworkFactory will create one internally
@@ -2755,6 +2758,17 @@ public class ConnectivityService extends IConnectivityManager.Stub {
state + "/" + info.getDetailedState());
}
+ // After booting we'll check once for mobile provisioning
+ // if we've provisioned by and connected.
+ if (!mFirstProvisioningCheckStarted
+ && (0 != Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.DEVICE_PROVISIONED, 0))
+ && (state == NetworkInfo.State.CONNECTED)) {
+ log("check provisioning after booting");
+ mFirstProvisioningCheckStarted = true;
+ checkMobileProvisioning(true, CheckMp.MAX_TIMEOUT_MS, null);
+ }
+
EventLogTags.writeConnectivityStateChanged(
info.getType(), info.getSubtype(), info.getDetailedState().ordinal());
@@ -3677,6 +3691,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
+ " resultReceiver=" + resultReceiver);
enforceChangePermission();
+ mFirstProvisioningCheckStarted = true;
+
int timeOutMs = suggestedTimeOutMs;
if (suggestedTimeOutMs > CheckMp.MAX_TIMEOUT_MS) {
timeOutMs = CheckMp.MAX_TIMEOUT_MS;