Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +19 −0 Original line number Diff line number Diff line Loading @@ -3326,12 +3326,22 @@ public class ServiceStateTracker extends Handler { private void pollStateInternal(boolean modemTriggered) { mPollingContext = new int[1]; mPollingContext[0] = 0; NetworkRegistrationInfo nri; log("pollState: modemTriggered=" + modemTriggered); switch (mCi.getRadioState()) { case TelephonyManager.RADIO_POWER_UNAVAILABLE: // Preserve the IWLAN registration state, because that should not be affected by // radio availability. nri = mNewSS.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WLAN); mNewSS.setOutOfService(mAccessNetworksManager.isInLegacyMode(), false); // Add the IWLAN registration info back to service state. if (nri != null) { mNewSS.addNetworkRegistrationInfo(nri); } mPhone.getSignalStrengthController().setSignalStrengthDefaultValues(); mLastNitzData = null; mNitzState.handleNetworkUnavailable(); Loading @@ -3339,7 +3349,16 @@ public class ServiceStateTracker extends Handler { break; case TelephonyManager.RADIO_POWER_OFF: // Preserve the IWLAN registration state, because that should not be affected by // radio availability. nri = mNewSS.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WLAN); mNewSS.setOutOfService(mAccessNetworksManager.isInLegacyMode(), true); // Add the IWLAN registration info back to service state. if (nri != null) { mNewSS.addNetworkRegistrationInfo(nri); } mPhone.getSignalStrengthController().setSignalStrengthDefaultValues(); mLastNitzData = null; mNitzState.handleNetworkUnavailable(); Loading src/java/com/android/internal/telephony/data/DataNetwork.java +9 −1 Original line number Diff line number Diff line Loading @@ -1211,6 +1211,7 @@ public class DataNetwork extends StateMachine { deferMessage(msg); } break; case EVENT_DISPLAY_INFO_CHANGED: case EVENT_TEAR_DOWN_NETWORK: // Defer the request until handover succeeds or fails. deferMessage(msg); Loading Loading @@ -2406,6 +2407,13 @@ public class DataNetwork extends StateMachine { * @return The data network type. */ private @NetworkType int getDataNetworkType(@TransportType int transport) { // WLAN transport can't have network type other than IWLAN. Ideally service state tracker // should report the correct RAT, but sometimes race condition could happen that service // state is reset to out of service and RAT not updated to IWLAN yet. if (transport == AccessNetworkConstants.TRANSPORT_TYPE_WLAN) { return TelephonyManager.NETWORK_TYPE_IWLAN; } ServiceState ss = mPhone.getServiceState(); NetworkRegistrationInfo nrs = ss.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, transport); Loading Loading @@ -2924,7 +2932,7 @@ public class DataNetwork extends StateMachine { */ private void logl(@NonNull String s) { log(s); mLocalLog.log(s); mLocalLog.log((getCurrentState() != null ? (getCurrentState().getName() + ": ") : "") + s); } /** Loading Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +19 −0 Original line number Diff line number Diff line Loading @@ -3326,12 +3326,22 @@ public class ServiceStateTracker extends Handler { private void pollStateInternal(boolean modemTriggered) { mPollingContext = new int[1]; mPollingContext[0] = 0; NetworkRegistrationInfo nri; log("pollState: modemTriggered=" + modemTriggered); switch (mCi.getRadioState()) { case TelephonyManager.RADIO_POWER_UNAVAILABLE: // Preserve the IWLAN registration state, because that should not be affected by // radio availability. nri = mNewSS.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WLAN); mNewSS.setOutOfService(mAccessNetworksManager.isInLegacyMode(), false); // Add the IWLAN registration info back to service state. if (nri != null) { mNewSS.addNetworkRegistrationInfo(nri); } mPhone.getSignalStrengthController().setSignalStrengthDefaultValues(); mLastNitzData = null; mNitzState.handleNetworkUnavailable(); Loading @@ -3339,7 +3349,16 @@ public class ServiceStateTracker extends Handler { break; case TelephonyManager.RADIO_POWER_OFF: // Preserve the IWLAN registration state, because that should not be affected by // radio availability. nri = mNewSS.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WLAN); mNewSS.setOutOfService(mAccessNetworksManager.isInLegacyMode(), true); // Add the IWLAN registration info back to service state. if (nri != null) { mNewSS.addNetworkRegistrationInfo(nri); } mPhone.getSignalStrengthController().setSignalStrengthDefaultValues(); mLastNitzData = null; mNitzState.handleNetworkUnavailable(); Loading
src/java/com/android/internal/telephony/data/DataNetwork.java +9 −1 Original line number Diff line number Diff line Loading @@ -1211,6 +1211,7 @@ public class DataNetwork extends StateMachine { deferMessage(msg); } break; case EVENT_DISPLAY_INFO_CHANGED: case EVENT_TEAR_DOWN_NETWORK: // Defer the request until handover succeeds or fails. deferMessage(msg); Loading Loading @@ -2406,6 +2407,13 @@ public class DataNetwork extends StateMachine { * @return The data network type. */ private @NetworkType int getDataNetworkType(@TransportType int transport) { // WLAN transport can't have network type other than IWLAN. Ideally service state tracker // should report the correct RAT, but sometimes race condition could happen that service // state is reset to out of service and RAT not updated to IWLAN yet. if (transport == AccessNetworkConstants.TRANSPORT_TYPE_WLAN) { return TelephonyManager.NETWORK_TYPE_IWLAN; } ServiceState ss = mPhone.getServiceState(); NetworkRegistrationInfo nrs = ss.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, transport); Loading Loading @@ -2924,7 +2932,7 @@ public class DataNetwork extends StateMachine { */ private void logl(@NonNull String s) { log(s); mLocalLog.log(s); mLocalLog.log((getCurrentState() != null ? (getCurrentState().getName() + ": ") : "") + s); } /** Loading