GPS: Fix problem with SUPL when SUPL APN is already active.
Use ConnectivityManager.CONNECTIVITY_ACTION broadcast in LocationManagerService to notify GPS when SUPL connection is ready instead of TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED, which is not sent in all cases. Expand LocationProvider.updateNetworkState() to include NetworkInfo object. Fixes bug b/2155661 Change-Id: Iee227ace7d536b36cf7973e3e6a8b7a621ce6565 Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
@@ -48,6 +48,7 @@ public class MobileDataStateTracker extends NetworkStateTracker {
|
||||
private ITelephony mPhoneService;
|
||||
|
||||
private String mApnType;
|
||||
private String mApnName;
|
||||
private boolean mEnabled;
|
||||
private BroadcastReceiver mStateReceiver;
|
||||
|
||||
@@ -139,6 +140,7 @@ public class MobileDataStateTracker extends NetworkStateTracker {
|
||||
String reason = intent.getStringExtra(Phone.STATE_CHANGE_REASON_KEY);
|
||||
String apnName = intent.getStringExtra(Phone.DATA_APN_KEY);
|
||||
String apnTypeList = intent.getStringExtra(Phone.DATA_APN_TYPES_KEY);
|
||||
mApnName = apnName;
|
||||
|
||||
boolean unavailable = intent.getBooleanExtra(Phone.NETWORK_UNAVAILABLE_KEY,
|
||||
false);
|
||||
@@ -339,6 +341,7 @@ public class MobileDataStateTracker extends NetworkStateTracker {
|
||||
intent.putExtra(Phone.STATE_KEY, Phone.DataState.CONNECTED.toString());
|
||||
intent.putExtra(Phone.STATE_CHANGE_REASON_KEY, Phone.REASON_APN_CHANGED);
|
||||
intent.putExtra(Phone.DATA_APN_TYPES_KEY, mApnType);
|
||||
intent.putExtra(Phone.DATA_APN_KEY, mApnName);
|
||||
intent.putExtra(Phone.DATA_IFACE_NAME_KEY, mInterfaceName);
|
||||
intent.putExtra(Phone.NETWORK_UNAVAILABLE_KEY, false);
|
||||
if (mStateReceiver != null) mStateReceiver.onReceive(mContext, intent);
|
||||
|
||||
Reference in New Issue
Block a user