Loading telephony/java/com/android/internal/telephony/DataConnectionTracker.java +33 −37 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.internal.R; import java.util.ArrayList; import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; /** Loading Loading @@ -244,9 +245,26 @@ public abstract class DataConnectionTracker extends Handler { protected HashMap<Integer, DataConnection> mDataConnections = new HashMap<Integer, DataConnection>(); /** Convert an ApnType string to Id (TODO: Use "enumeration" instead of String for ApnType) */ protected HashMap<String, Integer> mApnToDataConnectionId = new HashMap<String, Integer>(); /** Phone.APN_TYPE_* ===> ApnContext */ protected ConcurrentHashMap<String, ApnContext> mApnContexts; /* Currently active APN */ protected ApnSetting mActiveApn; /** allApns holds all apns */ protected ArrayList<ApnSetting> mAllApns = null; /** preferred apn */ protected ApnSetting mPreferredApn = null; /** Is packet service restricted by network */ protected boolean mIsPsRestricted = false; /* Once disposed dont handle any messages */ protected boolean mIsDisposed = false; Loading Loading @@ -344,11 +362,6 @@ public abstract class DataConnectionTracker extends Handler { return mActivity; } public State getState() { // TODO: reimplement to use apnType better yet REMOVE. return mState; } /** * @return the data connections */ Loading Loading @@ -390,16 +403,7 @@ public abstract class DataConnectionTracker extends Handler { return result; } private String getActiveApnType() { String result; if (mActiveApn != null) { result = apnIdToType(mActiveApn.id); } else { result = null; } return result; } /** TODO: See if we can remove */ public String getActiveApnString() { String result = null; if (mActiveApn != null) { Loading Loading @@ -434,10 +438,19 @@ public abstract class DataConnectionTracker extends Handler { } } // abstract methods protected abstract String getActionIntentReconnectAlarm(); protected abstract void startNetStatPoll(); protected abstract void stopNetStatPoll(); protected abstract void restartRadio(); protected abstract void log(String s); protected abstract void loge(String s); protected abstract boolean isDataAllowed(); protected abstract boolean isApnTypeAvailable(String type); public abstract State getState(String apnType); protected abstract void setState(State s); protected abstract void gotoIdleAndNotifyDataConnection(String reason); // abstract handler methods protected abstract boolean onTrySetupData(String reason); protected abstract void onRoamingOff(); protected abstract void onRoamingOn(); Loading Loading @@ -546,16 +559,6 @@ public abstract class DataConnectionTracker extends Handler { return result; } protected abstract void startNetStatPoll(); protected abstract void stopNetStatPoll(); protected abstract void restartRadio(); protected abstract void log(String s); protected abstract void loge(String s); protected int apnTypeToId(String type) { if (TextUtils.equals(type, Phone.APN_TYPE_DEFAULT)) { return APN_DEFAULT_ID; Loading Loading @@ -602,12 +605,6 @@ public abstract class DataConnectionTracker extends Handler { } } protected abstract boolean isApnTypeAvailable(String type); protected abstract void setState(State s); protected abstract void gotoIdleAndNotifyDataConnection(String reason); protected LinkProperties getLinkProperties(String apnType) { int id = apnTypeToId(apnType); if (isApnIdEnabled(id)) { Loading Loading @@ -728,14 +725,13 @@ public abstract class DataConnectionTracker extends Handler { return possible; } protected abstract boolean isDataAllowed(); public boolean isApnTypeEnabled(String apnType) { if (apnType == null) { apnType = getActiveApnType(); } return false; } else { return isApnIdEnabled(apnTypeToId(apnType)); } } protected synchronized boolean isApnIdEnabled(int id) { if (id != APN_INVALID_ID) { Loading telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java +1 −7 Original line number Diff line number Diff line Loading @@ -122,13 +122,7 @@ public class CDMALTEPhone extends CDMAPhone { } else if (mDataConnection.isApnTypeEnabled(apnType) == false) { ret = DataState.DISCONNECTED; } else { DataConnectionTracker.State state; if (isCdmaDataConnectionTracker) { state = mDataConnection.getState(); } else { state = ((GsmDataConnectionTracker)mDataConnection).getState(apnType); } switch (state) { switch (mDataConnection.getState(apnType)) { case FAILED: case IDLE: ret = DataState.DISCONNECTED; Loading telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +1 −1 Original line number Diff line number Diff line Loading @@ -633,7 +633,7 @@ public class CDMAPhone extends PhoneBase { mDataConnection.isApnTypeActive(apnType) == false) { ret = DataState.DISCONNECTED; } else { switch (mDataConnection.getState()) { switch (mDataConnection.getState(apnType)) { case FAILED: case IDLE: ret = DataState.DISCONNECTED; Loading telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +5 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,11 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } } @Override public synchronized State getState(String apnType) { return mState; } @Override protected boolean isApnTypeAvailable(String type) { for (String s : mSupportedApnTypes) { Loading telephony/java/com/android/internal/telephony/gsm/GSMPhone.java +1 −1 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ public class GSMPhone extends PhoneBase { mDataConnection.isApnTypeActive(apnType) == false) { ret = DataState.DISCONNECTED; } else { /* mSST.gprsState == ServiceState.STATE_IN_SERVICE */ switch (mDataConnection.getState()) { switch (mDataConnection.getState(apnType)) { case FAILED: case IDLE: ret = DataState.DISCONNECTED; Loading Loading
telephony/java/com/android/internal/telephony/DataConnectionTracker.java +33 −37 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.internal.R; import java.util.ArrayList; import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; /** Loading Loading @@ -244,9 +245,26 @@ public abstract class DataConnectionTracker extends Handler { protected HashMap<Integer, DataConnection> mDataConnections = new HashMap<Integer, DataConnection>(); /** Convert an ApnType string to Id (TODO: Use "enumeration" instead of String for ApnType) */ protected HashMap<String, Integer> mApnToDataConnectionId = new HashMap<String, Integer>(); /** Phone.APN_TYPE_* ===> ApnContext */ protected ConcurrentHashMap<String, ApnContext> mApnContexts; /* Currently active APN */ protected ApnSetting mActiveApn; /** allApns holds all apns */ protected ArrayList<ApnSetting> mAllApns = null; /** preferred apn */ protected ApnSetting mPreferredApn = null; /** Is packet service restricted by network */ protected boolean mIsPsRestricted = false; /* Once disposed dont handle any messages */ protected boolean mIsDisposed = false; Loading Loading @@ -344,11 +362,6 @@ public abstract class DataConnectionTracker extends Handler { return mActivity; } public State getState() { // TODO: reimplement to use apnType better yet REMOVE. return mState; } /** * @return the data connections */ Loading Loading @@ -390,16 +403,7 @@ public abstract class DataConnectionTracker extends Handler { return result; } private String getActiveApnType() { String result; if (mActiveApn != null) { result = apnIdToType(mActiveApn.id); } else { result = null; } return result; } /** TODO: See if we can remove */ public String getActiveApnString() { String result = null; if (mActiveApn != null) { Loading Loading @@ -434,10 +438,19 @@ public abstract class DataConnectionTracker extends Handler { } } // abstract methods protected abstract String getActionIntentReconnectAlarm(); protected abstract void startNetStatPoll(); protected abstract void stopNetStatPoll(); protected abstract void restartRadio(); protected abstract void log(String s); protected abstract void loge(String s); protected abstract boolean isDataAllowed(); protected abstract boolean isApnTypeAvailable(String type); public abstract State getState(String apnType); protected abstract void setState(State s); protected abstract void gotoIdleAndNotifyDataConnection(String reason); // abstract handler methods protected abstract boolean onTrySetupData(String reason); protected abstract void onRoamingOff(); protected abstract void onRoamingOn(); Loading Loading @@ -546,16 +559,6 @@ public abstract class DataConnectionTracker extends Handler { return result; } protected abstract void startNetStatPoll(); protected abstract void stopNetStatPoll(); protected abstract void restartRadio(); protected abstract void log(String s); protected abstract void loge(String s); protected int apnTypeToId(String type) { if (TextUtils.equals(type, Phone.APN_TYPE_DEFAULT)) { return APN_DEFAULT_ID; Loading Loading @@ -602,12 +605,6 @@ public abstract class DataConnectionTracker extends Handler { } } protected abstract boolean isApnTypeAvailable(String type); protected abstract void setState(State s); protected abstract void gotoIdleAndNotifyDataConnection(String reason); protected LinkProperties getLinkProperties(String apnType) { int id = apnTypeToId(apnType); if (isApnIdEnabled(id)) { Loading Loading @@ -728,14 +725,13 @@ public abstract class DataConnectionTracker extends Handler { return possible; } protected abstract boolean isDataAllowed(); public boolean isApnTypeEnabled(String apnType) { if (apnType == null) { apnType = getActiveApnType(); } return false; } else { return isApnIdEnabled(apnTypeToId(apnType)); } } protected synchronized boolean isApnIdEnabled(int id) { if (id != APN_INVALID_ID) { Loading
telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java +1 −7 Original line number Diff line number Diff line Loading @@ -122,13 +122,7 @@ public class CDMALTEPhone extends CDMAPhone { } else if (mDataConnection.isApnTypeEnabled(apnType) == false) { ret = DataState.DISCONNECTED; } else { DataConnectionTracker.State state; if (isCdmaDataConnectionTracker) { state = mDataConnection.getState(); } else { state = ((GsmDataConnectionTracker)mDataConnection).getState(apnType); } switch (state) { switch (mDataConnection.getState(apnType)) { case FAILED: case IDLE: ret = DataState.DISCONNECTED; Loading
telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +1 −1 Original line number Diff line number Diff line Loading @@ -633,7 +633,7 @@ public class CDMAPhone extends PhoneBase { mDataConnection.isApnTypeActive(apnType) == false) { ret = DataState.DISCONNECTED; } else { switch (mDataConnection.getState()) { switch (mDataConnection.getState(apnType)) { case FAILED: case IDLE: ret = DataState.DISCONNECTED; Loading
telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +5 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,11 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } } @Override public synchronized State getState(String apnType) { return mState; } @Override protected boolean isApnTypeAvailable(String type) { for (String s : mSupportedApnTypes) { Loading
telephony/java/com/android/internal/telephony/gsm/GSMPhone.java +1 −1 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ public class GSMPhone extends PhoneBase { mDataConnection.isApnTypeActive(apnType) == false) { ret = DataState.DISCONNECTED; } else { /* mSST.gprsState == ServiceState.STATE_IN_SERVICE */ switch (mDataConnection.getState()) { switch (mDataConnection.getState(apnType)) { case FAILED: case IDLE: ret = DataState.DISCONNECTED; Loading