diff options
| -rw-r--r-- | telephony/java/android/telephony/ServiceState.java | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index ac740166a024..6fe9bf97c5c3 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -1207,8 +1207,13 @@ public class ServiceState implements Parcelable { /** * Initialize the service state. Set everything to the default value. + * + * @param legacyMode {@code true} if the device is on IWLAN legacy mode, where IWLAN is + * considered as a RAT on WWAN {@link NetworkRegistrationInfo}. {@code false} if the device + * is on AP-assisted mode, where IWLAN should be reported through WLAN. + * {@link NetworkRegistrationInfo}. */ - private void init() { + private void init(boolean legacyMode) { if (DBG) Rlog.d(LOG_TAG, "init"); mVoiceRegState = STATE_OUT_OF_SERVICE; mDataRegState = STATE_OUT_OF_SERVICE; @@ -1240,11 +1245,13 @@ public class ServiceState implements Parcelable { .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN) .build()); - addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder() - .setDomain(NetworkRegistrationInfo.DOMAIN_PS) - .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WLAN) - .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN) - .build()); + if (!legacyMode) { + addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder() + .setDomain(NetworkRegistrationInfo.DOMAIN_PS) + .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WLAN) + .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN) + .build()); + } } mOperatorAlphaLongRaw = null; mOperatorAlphaShortRaw = null; @@ -1253,11 +1260,11 @@ public class ServiceState implements Parcelable { } public void setStateOutOfService() { - init(); + init(true); } public void setStateOff() { - init(); + init(true); mVoiceRegState = STATE_POWER_OFF; mDataRegState = STATE_POWER_OFF; } @@ -1265,11 +1272,14 @@ public class ServiceState implements Parcelable { /** * Set the service state to out-of-service * + * @param legacyMode {@code true} if the device is on IWLAN legacy mode, where IWLAN is + * considered as a RAT on WWAN {@link NetworkRegistrationInfo}. {@code false} if the device + * is on AP-assisted mode, where IWLAN should be reported through WLAN. * @param powerOff {@code true} if this is a power off case (i.e. Airplane mode on). * @hide */ - public void setOutOfService(boolean powerOff) { - init(); + public void setOutOfService(boolean legacyMode, boolean powerOff) { + init(legacyMode); if (powerOff) { mVoiceRegState = STATE_POWER_OFF; mDataRegState = STATE_POWER_OFF; |