Loading core/java/android/net/MobileDataStateTracker.java +3 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ public class MobileDataStateTracker extends NetworkStateTracker { private ITelephony mPhoneService; private String mApnType; private String mApnName; private boolean mEnabled; private BroadcastReceiver mStateReceiver; Loading Loading @@ -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); Loading Loading @@ -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); Loading location/java/android/location/ILocationProvider.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.location; import android.location.Location; import android.net.NetworkInfo; import android.os.Bundle; /** Loading @@ -41,7 +42,7 @@ interface ILocationProvider { long getStatusUpdateTime(); void enableLocationTracking(boolean enable); void setMinTime(long minTime); void updateNetworkState(int state); void updateNetworkState(int state, in NetworkInfo info); void updateLocation(in Location location); boolean sendExtraCommand(String command, inout Bundle extras); void addListener(int uid); Loading location/java/com/android/internal/location/GpsLocationProvider.java +21 −21 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.location.Location; import android.location.LocationManager; import android.location.LocationProvider; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.SntpClient; import android.os.Bundle; import android.os.IBinder; Loading @@ -46,7 +47,6 @@ import android.util.SparseIntArray; import com.android.internal.app.IBatteryStats; import com.android.internal.telephony.Phone; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.location.GpsNetInitiatedHandler; import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification; Loading Loading @@ -303,22 +303,6 @@ public class GpsLocationProvider extends ILocationProvider.Stub { } else if (action.equals(ALARM_TIMEOUT)) { if (DEBUG) Log.d(TAG, "ALARM_TIMEOUT"); hibernate(); } else if (action.equals(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) { String state = intent.getStringExtra(Phone.STATE_KEY); String apnName = intent.getStringExtra(Phone.DATA_APN_KEY); String reason = intent.getStringExtra(Phone.STATE_CHANGE_REASON_KEY); if (Config.LOGD) { Log.d(TAG, "state: " + state + " apnName: " + apnName + " reason: " + reason); } // FIXME - might not have an APN on CDMA if ("CONNECTED".equals(state) && apnName != null && apnName.length() > 0) { mAGpsApn = apnName; if (mAGpsDataConnectionState == AGPS_DATA_CONNECTION_OPENING) { native_agps_data_conn_open(mAGpsApn); mAGpsDataConnectionState = AGPS_DATA_CONNECTION_OPEN; } } } } }; Loading @@ -343,7 +327,6 @@ public class GpsLocationProvider extends ILocationProvider.Stub { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ALARM_WAKEUP); intentFilter.addAction(ALARM_TIMEOUT); intentFilter.addAction(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED); context.registerReceiver(mBroadcastReciever, intentFilter); mConnMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); Loading Loading @@ -391,11 +374,28 @@ public class GpsLocationProvider extends ILocationProvider.Stub { return true; } public void updateNetworkState(int state) { public void updateNetworkState(int state, NetworkInfo info) { mNetworkAvailable = (state == LocationProvider.AVAILABLE); if (Config.LOGD) { Log.d(TAG, "updateNetworkState " + (mNetworkAvailable ? "available" : "unavailable")); Log.d(TAG, "updateNetworkState " + (mNetworkAvailable ? "available" : "unavailable") + " info: " + info); } if (info != null && info.getType() == ConnectivityManager.TYPE_MOBILE_SUPL && mAGpsDataConnectionState == AGPS_DATA_CONNECTION_OPENING) { String apnName = info.getExtraInfo(); if (mNetworkAvailable && apnName != null && apnName.length() > 0) { mAGpsApn = apnName; if (DEBUG) Log.d(TAG, "call native_agps_data_conn_open"); native_agps_data_conn_open(apnName); mAGpsDataConnectionState = AGPS_DATA_CONNECTION_OPEN; } else { if (DEBUG) Log.d(TAG, "call native_agps_data_conn_failed"); mAGpsApn = null; mAGpsDataConnectionState = AGPS_DATA_CONNECTION_CLOSED; native_agps_data_conn_failed(); } } if (mNetworkAvailable && mNetworkThread != null && mEnabled) { Loading location/java/com/android/internal/location/LocationProviderProxy.java +3 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.location.Address; import android.location.ILocationProvider; import android.location.Location; import android.location.LocationManager; import android.net.NetworkInfo; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; Loading Loading @@ -217,9 +218,9 @@ public class LocationProviderProxy implements IBinder.DeathRecipient { } } public void updateNetworkState(int state) { public void updateNetworkState(int state, NetworkInfo info) { try { mProvider.updateNetworkState(state); mProvider.updateNetworkState(state, info); } catch (RemoteException e) { Log.e(TAG, "updateNetworkState failed", e); } Loading location/java/com/android/internal/location/MockProvider.java +2 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.location.ILocationManager; import android.location.ILocationProvider; import android.location.Location; import android.location.LocationProvider; import android.net.NetworkInfo; import android.os.Bundle; import android.os.RemoteException; import android.util.Log; Loading Loading @@ -169,7 +170,7 @@ public class MockProvider extends ILocationProvider.Stub { public void setMinTime(long minTime) { } public void updateNetworkState(int state) { public void updateNetworkState(int state, NetworkInfo info) { } public void updateLocation(Location location) { Loading Loading
core/java/android/net/MobileDataStateTracker.java +3 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ public class MobileDataStateTracker extends NetworkStateTracker { private ITelephony mPhoneService; private String mApnType; private String mApnName; private boolean mEnabled; private BroadcastReceiver mStateReceiver; Loading Loading @@ -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); Loading Loading @@ -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); Loading
location/java/android/location/ILocationProvider.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.location; import android.location.Location; import android.net.NetworkInfo; import android.os.Bundle; /** Loading @@ -41,7 +42,7 @@ interface ILocationProvider { long getStatusUpdateTime(); void enableLocationTracking(boolean enable); void setMinTime(long minTime); void updateNetworkState(int state); void updateNetworkState(int state, in NetworkInfo info); void updateLocation(in Location location); boolean sendExtraCommand(String command, inout Bundle extras); void addListener(int uid); Loading
location/java/com/android/internal/location/GpsLocationProvider.java +21 −21 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.location.Location; import android.location.LocationManager; import android.location.LocationProvider; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.SntpClient; import android.os.Bundle; import android.os.IBinder; Loading @@ -46,7 +47,6 @@ import android.util.SparseIntArray; import com.android.internal.app.IBatteryStats; import com.android.internal.telephony.Phone; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.location.GpsNetInitiatedHandler; import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification; Loading Loading @@ -303,22 +303,6 @@ public class GpsLocationProvider extends ILocationProvider.Stub { } else if (action.equals(ALARM_TIMEOUT)) { if (DEBUG) Log.d(TAG, "ALARM_TIMEOUT"); hibernate(); } else if (action.equals(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) { String state = intent.getStringExtra(Phone.STATE_KEY); String apnName = intent.getStringExtra(Phone.DATA_APN_KEY); String reason = intent.getStringExtra(Phone.STATE_CHANGE_REASON_KEY); if (Config.LOGD) { Log.d(TAG, "state: " + state + " apnName: " + apnName + " reason: " + reason); } // FIXME - might not have an APN on CDMA if ("CONNECTED".equals(state) && apnName != null && apnName.length() > 0) { mAGpsApn = apnName; if (mAGpsDataConnectionState == AGPS_DATA_CONNECTION_OPENING) { native_agps_data_conn_open(mAGpsApn); mAGpsDataConnectionState = AGPS_DATA_CONNECTION_OPEN; } } } } }; Loading @@ -343,7 +327,6 @@ public class GpsLocationProvider extends ILocationProvider.Stub { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ALARM_WAKEUP); intentFilter.addAction(ALARM_TIMEOUT); intentFilter.addAction(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED); context.registerReceiver(mBroadcastReciever, intentFilter); mConnMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); Loading Loading @@ -391,11 +374,28 @@ public class GpsLocationProvider extends ILocationProvider.Stub { return true; } public void updateNetworkState(int state) { public void updateNetworkState(int state, NetworkInfo info) { mNetworkAvailable = (state == LocationProvider.AVAILABLE); if (Config.LOGD) { Log.d(TAG, "updateNetworkState " + (mNetworkAvailable ? "available" : "unavailable")); Log.d(TAG, "updateNetworkState " + (mNetworkAvailable ? "available" : "unavailable") + " info: " + info); } if (info != null && info.getType() == ConnectivityManager.TYPE_MOBILE_SUPL && mAGpsDataConnectionState == AGPS_DATA_CONNECTION_OPENING) { String apnName = info.getExtraInfo(); if (mNetworkAvailable && apnName != null && apnName.length() > 0) { mAGpsApn = apnName; if (DEBUG) Log.d(TAG, "call native_agps_data_conn_open"); native_agps_data_conn_open(apnName); mAGpsDataConnectionState = AGPS_DATA_CONNECTION_OPEN; } else { if (DEBUG) Log.d(TAG, "call native_agps_data_conn_failed"); mAGpsApn = null; mAGpsDataConnectionState = AGPS_DATA_CONNECTION_CLOSED; native_agps_data_conn_failed(); } } if (mNetworkAvailable && mNetworkThread != null && mEnabled) { Loading
location/java/com/android/internal/location/LocationProviderProxy.java +3 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.location.Address; import android.location.ILocationProvider; import android.location.Location; import android.location.LocationManager; import android.net.NetworkInfo; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; Loading Loading @@ -217,9 +218,9 @@ public class LocationProviderProxy implements IBinder.DeathRecipient { } } public void updateNetworkState(int state) { public void updateNetworkState(int state, NetworkInfo info) { try { mProvider.updateNetworkState(state); mProvider.updateNetworkState(state, info); } catch (RemoteException e) { Log.e(TAG, "updateNetworkState failed", e); } Loading
location/java/com/android/internal/location/MockProvider.java +2 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.location.ILocationManager; import android.location.ILocationProvider; import android.location.Location; import android.location.LocationProvider; import android.net.NetworkInfo; import android.os.Bundle; import android.os.RemoteException; import android.util.Log; Loading Loading @@ -169,7 +170,7 @@ public class MockProvider extends ILocationProvider.Stub { public void setMinTime(long minTime) { } public void updateNetworkState(int state) { public void updateNetworkState(int state, NetworkInfo info) { } public void updateLocation(Location location) { Loading