diff options
Diffstat (limited to 'src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java')
-rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java b/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java index 66fc00099..554a3c8ba 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java +++ b/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java @@ -33,6 +33,7 @@ import com.android.internal.telephony.SubscriptionController; import android.os.AsyncResult; import android.os.Message; import android.telephony.Rlog; +import android.telephony.ServiceState; public class DcSwitchStateMachine extends StateMachine { private static final boolean DBG = true; @@ -298,6 +299,16 @@ public class DcSwitchStateMachine extends StateMachine { } else { logd("EVENT_DATA_ALLOWED success"); mResponseMsg = null; + + /* If the data service state is IN_SERVICE then move to + * ATTACHED state. + */ + int dataState = mPhone.getServiceState().getDataRegState(); + if (dataState == ServiceState.STATE_IN_SERVICE) { + logd("AttachingState: Already attached, move to ATTACHED state"); + transitionTo(mAttachedState); + } + } } retVal = HANDLED; |