diff options
author | Wink Saville <wink@google.com> | 2010-11-24 16:44:29 -0800 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2010-11-24 16:44:29 -0800 |
commit | 26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e (patch) | |
tree | f41b1708cb84c631a90f7a0574316359e3324e04 /telephony | |
parent | b4f666f1c067b611cfa24c1896b53e20fc297eb5 (diff) | |
download | frameworks_base-26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e.zip frameworks_base-26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e.tar.gz frameworks_base-26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e.tar.bz2 |
Use apn types instead of host when sending notifications.
Previously we were passing the apn host not the type and this
caused us to sometimes not send out network change notifications.
Also rename of getActivceApn to getActiveApnHost to make
the method clearer on what is being returned and add some debug.
A future change will rename ApnSetting.apn to ApnSetting.host
and getActiveApnString.
bug: 2995554
Change-Id: I0c405b0f823f62c9596968c8516b820d9f8a94f2
Diffstat (limited to 'telephony')
6 files changed, 27 insertions, 18 deletions
diff --git a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java index 8f3fa1b..cc01bc5 100644 --- a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java @@ -687,7 +687,7 @@ public abstract class DataConnectionTracker extends Handler { public boolean isApnTypeEnabled(String apnType) { if (apnType == null) { - apnType = getActiveApnString(); + apnType = getActiveApnType(); } return isApnIdEnabled(apnTypeToId(apnType)); } diff --git a/telephony/java/com/android/internal/telephony/DefaultPhoneNotifier.java b/telephony/java/com/android/internal/telephony/DefaultPhoneNotifier.java index 52cbd7c..83db3d1 100644 --- a/telephony/java/com/android/internal/telephony/DefaultPhoneNotifier.java +++ b/telephony/java/com/android/internal/telephony/DefaultPhoneNotifier.java @@ -115,7 +115,7 @@ public class DefaultPhoneNotifier implements PhoneNotifier { mRegistry.notifyDataConnection( convertDataState(state), sender.isDataConnectivityPossible(), reason, - sender.getActiveApn(), + sender.getActiveApnHost(), apnType, linkProperties, linkCapabilities, diff --git a/telephony/java/com/android/internal/telephony/Phone.java b/telephony/java/com/android/internal/telephony/Phone.java index 2957c7e..69b7de6 100644 --- a/telephony/java/com/android/internal/telephony/Phone.java +++ b/telephony/java/com/android/internal/telephony/Phone.java @@ -309,16 +309,17 @@ public interface Phone { /** * Returns an array of string identifiers for the APN types serviced by the - * currently active or last connected APN. - * @return The string array. + * currently active. + * @return The string array will always return at least one entry, Phone.APN_TYPE_DEFAULT. + * TODO: Revisit if we always should return at least one entry. */ String[] getActiveApnTypes(); /** - * Returns a string identifier for currently active or last connected APN. - * @return The string name. + * Returns string for the active APN host. + * @return type as a string or null if none. */ - String getActiveApn(); + String getActiveApnHost(); /** * Return the LinkProperties for the named apn or null if not available diff --git a/telephony/java/com/android/internal/telephony/PhoneBase.java b/telephony/java/com/android/internal/telephony/PhoneBase.java index 83080ee..fe4fdb3 100644 --- a/telephony/java/com/android/internal/telephony/PhoneBase.java +++ b/telephony/java/com/android/internal/telephony/PhoneBase.java @@ -746,8 +746,10 @@ public abstract class PhoneBase extends Handler implements Phone { } public void notifyDataConnection() { - String apn = getActiveApn(); - mNotifier.notifyDataConnection(this, null, apn, getDataConnectionState(apn)); + String types[] = getActiveApnTypes(); + for (String apnType : types) { + mNotifier.notifyDataConnection(this, null, apnType, getDataConnectionState(apnType)); + } } public void notifyOtaspChanged(int otaspMode) { @@ -947,6 +949,10 @@ public abstract class PhoneBase extends Handler implements Phone { return mDataConnection.getActiveApnTypes(); } + public String getActiveApnHost() { + return mDataConnection.getActiveApnString(); + } + public LinkProperties getLinkProperties(String apnType) { return mDataConnection.getLinkProperties(apnType); } @@ -955,10 +961,6 @@ public abstract class PhoneBase extends Handler implements Phone { return mDataConnection.getLinkCapabilities(apnType); } - public String getActiveApn() { - return mDataConnection.getActiveApnString(); - } - public int enableApnType(String type) { return mDataConnection.enableApnType(type); } diff --git a/telephony/java/com/android/internal/telephony/PhoneProxy.java b/telephony/java/com/android/internal/telephony/PhoneProxy.java index 02fdf28..2e79762 100644 --- a/telephony/java/com/android/internal/telephony/PhoneProxy.java +++ b/telephony/java/com/android/internal/telephony/PhoneProxy.java @@ -209,6 +209,10 @@ public class PhoneProxy extends Handler implements Phone { return mActivePhone.getActiveApnTypes(); } + public String getActiveApnHost() { + return mActivePhone.getActiveApnHost(); + } + public LinkProperties getLinkProperties(String apnType) { return mActivePhone.getLinkProperties(apnType); } @@ -217,10 +221,6 @@ public class PhoneProxy extends Handler implements Phone { return mActivePhone.getLinkCapabilities(apnType); } - public String getActiveApn() { - return mActivePhone.getActiveApn(); - } - public SignalStrength getSignalStrength() { return mActivePhone.getSignalStrength(); } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java index 024ef33..f7664ca 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java @@ -89,6 +89,8 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { Phone.APN_TYPE_MMS, Phone.APN_TYPE_HIPRI }; + private static final int mDefaultApnId = DataConnectionTracker.APN_DEFAULT_ID; + /* Constructor */ CdmaDataConnectionTracker(CDMAPhone p) { @@ -324,13 +326,17 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { /** TODO: We probably want the connection being setup to a parameter passed around */ mPendingDataConnection = conn; String[] types; + int apnId; if (mRequestedApnType.equals(Phone.APN_TYPE_DUN)) { types = new String[1]; types[0] = Phone.APN_TYPE_DUN; + apnId = DataConnectionTracker.APN_DUN_ID; } else { types = mDefaultApnTypes; + apnId = mDefaultApnId; } - mActiveApn = new ApnSetting(0, "", "", "", "", "", "", "", "", "", "", 0, types); + mActiveApn = new ApnSetting(apnId, "", "", "", "", "", "", "", "", "", "", 0, types); + if (DBG) log("setupData: mActiveApn=" + mActiveApn); Message msg = obtainMessage(); msg.what = EVENT_DATA_SETUP_COMPLETE; |