Loading telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +15 −5 Original line number Diff line number Diff line Loading @@ -76,6 +76,9 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { /** Currently active CdmaDataConnection */ private CdmaDataConnection mActiveDataConnection; /** mimic of GSM's mActiveApn */ private boolean mIsApnActive = false; private boolean mPendingRestartRadio = false; private static final int TIME_DELAYED_TO_RESTART_RADIO = SystemProperties.getInt("ro.cdma.timetoradiorestart", 20000); Loading Loading @@ -245,8 +248,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { @Override protected boolean isApnTypeActive(String type) { return (isApnTypeAvailable(type) && (state != State.IDLE)); return (mIsApnActive && isApnTypeAvailable(type)); } @Override Loading @@ -260,10 +262,15 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } protected String[] getActiveApnTypes() { if (state != State.IDLE) { return mSupportedApnTypes.clone(); String[] result; if (mIsApnActive) { result = mSupportedApnTypes.clone(); } else { // TODO - should this return an empty array? See GSM too. result = new String[1]; result[0] = Phone.APN_TYPE_DEFAULT; } return new String[0]; return result; } protected String getActiveApnString() { Loading Loading @@ -386,6 +393,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { if (!tearDown) { setState(State.IDLE); phone.notifyDataConnection(reason); mIsApnActive = false; } } Loading @@ -409,6 +417,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } mActiveDataConnection = conn; mIsApnActive = true; Message msg = obtainMessage(); msg.what = EVENT_DATA_SETUP_COMPLETE; Loading Loading @@ -742,6 +751,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } phone.notifyDataConnection(reason); mIsApnActive = false; if (retryAfterDisconnected(reason)) { trySetupData(reason); } Loading telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +12 −8 Original line number Diff line number Diff line Loading @@ -596,32 +596,36 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { } protected String getInterfaceName(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getInterface(); } return null; } protected String getIpAddress(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getIpAddress(); } return null; } public String getGateway(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getGatewayAddress(); } return null; } protected String[] getDnsServers(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getDnsServers(); } return null; Loading Loading
telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +15 −5 Original line number Diff line number Diff line Loading @@ -76,6 +76,9 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { /** Currently active CdmaDataConnection */ private CdmaDataConnection mActiveDataConnection; /** mimic of GSM's mActiveApn */ private boolean mIsApnActive = false; private boolean mPendingRestartRadio = false; private static final int TIME_DELAYED_TO_RESTART_RADIO = SystemProperties.getInt("ro.cdma.timetoradiorestart", 20000); Loading Loading @@ -245,8 +248,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { @Override protected boolean isApnTypeActive(String type) { return (isApnTypeAvailable(type) && (state != State.IDLE)); return (mIsApnActive && isApnTypeAvailable(type)); } @Override Loading @@ -260,10 +262,15 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } protected String[] getActiveApnTypes() { if (state != State.IDLE) { return mSupportedApnTypes.clone(); String[] result; if (mIsApnActive) { result = mSupportedApnTypes.clone(); } else { // TODO - should this return an empty array? See GSM too. result = new String[1]; result[0] = Phone.APN_TYPE_DEFAULT; } return new String[0]; return result; } protected String getActiveApnString() { Loading Loading @@ -386,6 +393,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { if (!tearDown) { setState(State.IDLE); phone.notifyDataConnection(reason); mIsApnActive = false; } } Loading @@ -409,6 +417,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } mActiveDataConnection = conn; mIsApnActive = true; Message msg = obtainMessage(); msg.what = EVENT_DATA_SETUP_COMPLETE; Loading Loading @@ -742,6 +751,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } phone.notifyDataConnection(reason); mIsApnActive = false; if (retryAfterDisconnected(reason)) { trySetupData(reason); } Loading
telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +12 −8 Original line number Diff line number Diff line Loading @@ -596,32 +596,36 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { } protected String getInterfaceName(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getInterface(); } return null; } protected String getIpAddress(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getIpAddress(); } return null; } public String getGateway(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getGatewayAddress(); } return null; } protected String[] getDnsServers(String apnType) { if (mActivePdp != null && (apnType == null || mActiveApn.canHandleType(apnType))) { if (mActivePdp != null && (apnType == null || (mActiveApn != null && mActiveApn.canHandleType(apnType)))) { return mActivePdp.getDnsServers(); } return null; Loading