From 4c89b14db431dc1c9c2c8d8f14b88f991a29ab62 Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Wed, 9 Mar 2011 15:08:15 -0800 Subject: [PATCH] Don't accept a user-defined dun-capable connection If we're asked to connect to a DUN APN and we have a carrier specified DUN APN setting, verify what we're connected to is the same as what the carrier specified before accepting it. bug:4048013 Change-Id: I91edc4a1342cb40c1f6959e149303b7d76710f96 --- .../internal/telephony/gsm/GsmDataConnectionTracker.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index 10988b19ea411..96005f0d63630 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -361,6 +361,12 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { @Override protected boolean isApnTypeActive(String type) { // TODO: support simultaneous with List instead + if (Phone.APN_TYPE_DUN.equals(type)) { + ApnSetting dunApn = fetchDunApn(); + if (dunApn != null) { + return ((mActiveApn != null) && (dunApn.toString().equals(mActiveApn.toString()))); + } + } return mActiveApn != null && mActiveApn.canHandleType(type); }