From d90ff986b415c7a6747285c1c2d08a2338543cc5 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Tue, 14 Apr 2009 22:35:07 -0400 Subject: telephony: Don't disable an APN type that is not enabled. Fixes a bad interaction between MMS and SUPL that occurs when they are using the same APN. Signed-off-by: Mike Lockwood --- .../android/internal/telephony/gsm/GsmDataConnectionTracker.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'telephony/java/com') diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index 1b07add..9ca4610 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -369,13 +369,15 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { * The APN of the specified type is no longer needed. Ensure that if * use of the default APN has not been explicitly disabled, we are connected * to the default APN. - * @param type the APN type. The only valid value currently is {@link Phone#APN_TYPE_MMS}. + * @param type the APN type. The only valid values are currently + * {@link Phone#APN_TYPE_MMS} and {@link Phone#APN_TYPE_SUPL}. * @return */ protected int disableApnType(String type) { Log.d(LOG_TAG, "disableApnType("+type+")"); - if (TextUtils.equals(type, Phone.APN_TYPE_MMS) || - TextUtils.equals(type, Phone.APN_TYPE_SUPL)) { + if ((TextUtils.equals(type, Phone.APN_TYPE_MMS) || + TextUtils.equals(type, Phone.APN_TYPE_SUPL)) + && isEnabled(type)) { removeMessages(EVENT_RESTORE_DEFAULT_APN); setEnabled(type, false); if (isApnTypeActive(Phone.APN_TYPE_DEFAULT)) { -- cgit v1.1