Loading services/core/java/com/android/server/location/GnssLocationProvider.java +21 −9 Original line number Diff line number Diff line Loading @@ -466,6 +466,11 @@ public class GnssLocationProvider implements LocationProviderInterface { // Always on, notify HAL so it can get data it needs sendMessage(UPDATE_NETWORK_STATE, 0 /*arg*/, network); } @Override public void onLost(Network network) { sendMessage(UPDATE_NETWORK_STATE, 0 /*arg*/, network); } }; /** Loading Loading @@ -802,11 +807,21 @@ public class GnssLocationProvider implements LocationProviderInterface { private void handleUpdateNetworkState(Network network) { // retrieve NetworkInfo for this UID NetworkInfo info = mConnMgr.getNetworkInfo(network); if (info == null) { return; boolean networkAvailable = false; boolean isConnected = false; int type = ConnectivityManager.TYPE_NONE; boolean isRoaming = false; String apnName = null; if (info != null) { networkAvailable = info.isAvailable() && TelephonyManager.getDefault().getDataEnabled(); isConnected = info.isConnected(); type = info.getType(); isRoaming = info.isRoaming(); apnName = info.getExtraInfo(); } boolean isConnected = info.isConnected(); if (DEBUG) { String message = String.format( "UpdateNetworkState, state=%s, connected=%s, info=%s, capabilities=%S", Loading @@ -818,8 +833,6 @@ public class GnssLocationProvider implements LocationProviderInterface { } if (native_is_agps_ril_supported()) { boolean dataEnabled = TelephonyManager.getDefault().getDataEnabled(); boolean networkAvailable = info.isAvailable() && dataEnabled; String defaultApn = getSelectedApn(); if (defaultApn == null) { defaultApn = "dummy-apn"; Loading @@ -827,10 +840,10 @@ public class GnssLocationProvider implements LocationProviderInterface { native_update_network_state( isConnected, info.getType(), info.isRoaming(), type, isRoaming, networkAvailable, info.getExtraInfo(), apnName, defaultApn); } else if (DEBUG) { Log.d(TAG, "Skipped network state update because GPS HAL AGPS-RIL is not supported"); Loading @@ -838,7 +851,6 @@ public class GnssLocationProvider implements LocationProviderInterface { if (mAGpsDataConnectionState == AGPS_DATA_CONNECTION_OPENING) { if (isConnected) { String apnName = info.getExtraInfo(); if (apnName == null) { // assign a dummy value in the case of C2K as otherwise we will have a runtime // exception in the following call to native_agps_data_conn_open Loading Loading
services/core/java/com/android/server/location/GnssLocationProvider.java +21 −9 Original line number Diff line number Diff line Loading @@ -466,6 +466,11 @@ public class GnssLocationProvider implements LocationProviderInterface { // Always on, notify HAL so it can get data it needs sendMessage(UPDATE_NETWORK_STATE, 0 /*arg*/, network); } @Override public void onLost(Network network) { sendMessage(UPDATE_NETWORK_STATE, 0 /*arg*/, network); } }; /** Loading Loading @@ -802,11 +807,21 @@ public class GnssLocationProvider implements LocationProviderInterface { private void handleUpdateNetworkState(Network network) { // retrieve NetworkInfo for this UID NetworkInfo info = mConnMgr.getNetworkInfo(network); if (info == null) { return; boolean networkAvailable = false; boolean isConnected = false; int type = ConnectivityManager.TYPE_NONE; boolean isRoaming = false; String apnName = null; if (info != null) { networkAvailable = info.isAvailable() && TelephonyManager.getDefault().getDataEnabled(); isConnected = info.isConnected(); type = info.getType(); isRoaming = info.isRoaming(); apnName = info.getExtraInfo(); } boolean isConnected = info.isConnected(); if (DEBUG) { String message = String.format( "UpdateNetworkState, state=%s, connected=%s, info=%s, capabilities=%S", Loading @@ -818,8 +833,6 @@ public class GnssLocationProvider implements LocationProviderInterface { } if (native_is_agps_ril_supported()) { boolean dataEnabled = TelephonyManager.getDefault().getDataEnabled(); boolean networkAvailable = info.isAvailable() && dataEnabled; String defaultApn = getSelectedApn(); if (defaultApn == null) { defaultApn = "dummy-apn"; Loading @@ -827,10 +840,10 @@ public class GnssLocationProvider implements LocationProviderInterface { native_update_network_state( isConnected, info.getType(), info.isRoaming(), type, isRoaming, networkAvailable, info.getExtraInfo(), apnName, defaultApn); } else if (DEBUG) { Log.d(TAG, "Skipped network state update because GPS HAL AGPS-RIL is not supported"); Loading @@ -838,7 +851,6 @@ public class GnssLocationProvider implements LocationProviderInterface { if (mAGpsDataConnectionState == AGPS_DATA_CONNECTION_OPENING) { if (isConnected) { String apnName = info.getExtraInfo(); if (apnName == null) { // assign a dummy value in the case of C2K as otherwise we will have a runtime // exception in the following call to native_agps_data_conn_open Loading