diff options
Diffstat (limited to 'telephony')
7 files changed, 28 insertions, 51 deletions
diff --git a/telephony/java/com/android/internal/telephony/DataCallState.java b/telephony/java/com/android/internal/telephony/DataCallState.java index 1d67d45..f5651e0 100644 --- a/telephony/java/com/android/internal/telephony/DataCallState.java +++ b/telephony/java/com/android/internal/telephony/DataCallState.java @@ -202,7 +202,7 @@ public class DataCallState { result = SetupResult.SUCCESS; } catch (UnknownHostException e) { - Log.d(LOG_TAG, "onSetupCompleted: UnknownHostException " + e); + Log.d(LOG_TAG, "setLinkProperties: UnknownHostException " + e); e.printStackTrace(); result = SetupResult.ERR_UnacceptableParameter; } @@ -216,8 +216,10 @@ public class DataCallState { // An error occurred so clear properties if (result != SetupResult.SUCCESS) { - if(DBG) Log.d(LOG_TAG, - "onSetupConnectionCompleted with an error, clearing LinkProperties"); + if(DBG) { + Log.d(LOG_TAG, "setLinkProperties: error clearing LinkProperties " + + "status=" + status + " result=" + result); + } linkProperties.clear(); } diff --git a/telephony/java/com/android/internal/telephony/DataConnection.java b/telephony/java/com/android/internal/telephony/DataConnection.java index c21a96a..5c030fd 100644 --- a/telephony/java/com/android/internal/telephony/DataConnection.java +++ b/telephony/java/com/android/internal/telephony/DataConnection.java @@ -228,7 +228,6 @@ public abstract class DataConnection extends StateMachine { mId = id; mRetryMgr = rm; this.cid = -1; - clearSettings(); setDbg(false); addState(mDefaultState); @@ -313,7 +312,6 @@ public abstract class DataConnection extends StateMachine { AsyncResult.forMessage(msg); msg.sendToTarget(); } - clearSettings(); if (DBG) log("NotifyDisconnectCompleted DisconnectParams=" + dp); } @@ -632,7 +630,6 @@ public abstract class DataConnection extends StateMachine { } case DataConnectionAc.REQ_RESET: if (VDBG) log("DcDefaultState: msg.what=REQ_RESET"); - clearSettings(); mAc.replyToMessage(msg, DataConnectionAc.RSP_RESET); transitionTo(mInactiveState); break; @@ -718,6 +715,7 @@ public abstract class DataConnection extends StateMachine { if (VDBG) log("DcInactiveState: enter notifyDisconnectCompleted"); notifyDisconnectCompleted(mDisconnectParams); } + clearSettings(); } @Override diff --git a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java index 2c26f62..977b412 100644 --- a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java @@ -145,8 +145,10 @@ public abstract class DataConnectionTracker extends Handler { public static final String APN_TYPE_KEY = "apnType"; - /** Delay between APN attempts */ - protected static final int APN_DELAY_MILLIS = 5000; + /** Delay between APN attempts. + Note the property override mechanism is there just for testing purpose only. */ + protected static final int APN_DELAY_MILLIS = + SystemProperties.getInt("persist.radio.apn_delay", 5000); // responds to the setInternalDataEnabled call - used internally to turn off data // for example during emergency calls diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java index abd87b8..318cf37 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java @@ -125,6 +125,8 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { } } + // Not sure if this is needed in CDMALTE phone. + // mDataRoaming = regCodeIsRoaming(regState); mLteSS.setRadioTechnology(type); mLteSS.setState(regCodeToServiceState(regState)); } else { @@ -210,12 +212,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { if (DBG) log("pollStateDone: oldSS=[" + ss + "] newSS=[" + newSS + "]"); - if (cm.getSimState().isSIMReady()) { - // If CSIM is used, check roaming status according to SID/NID - // on EFcdmahome record. - newSS.setRoaming(!isInHomeSidNid(newSS.getSystemId(), newSS.getNetworkId())); - } - boolean hasRegistered = ss.getState() != ServiceState.STATE_IN_SERVICE && newSS.getState() == ServiceState.STATE_IN_SERVICE; @@ -468,33 +464,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { return provisioningState; } - /** - * Check whether the specified SID and NID pair appears in the HOME SID/NID list - * read from NV or SIM. - * - * @return true if provided sid/nid pair belongs to operator's home network. - */ - private boolean isInHomeSidNid(int sid, int nid) { - // if SID/NID is not available, do not declare roaming. - if (isSidsAllZeros()) return true; - - // length of SID/NID shold be same - if (mHomeSystemId.length != mHomeNetworkId.length) return true; - - if (sid == 0) return true; - - for (int i = 0; i < mHomeSystemId.length; i++) { - // Use SID only if NID is a reserved value. - // SID 0 and NID 0 and 65535 are reserved. (C.0005 2.6.5.2) - if ((mHomeSystemId[i] == sid) && - ((mHomeNetworkId[i] == 0) || (mHomeNetworkId[i] == 65535) || - (nid == 0) || (nid == 65535) || (mHomeNetworkId[i] == nid))) { - return true; - } - } - return false; - } - @Override protected void log(String s) { Log.d(LOG_TAG, "[CdmaLteSST] " + s); diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java index 58ef747..73b5d97 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java @@ -17,6 +17,7 @@ package com.android.internal.telephony.cdma; import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_ALPHA; import com.android.internal.telephony.GsmAlphabet; +import com.android.internal.telephony.IccCardApplication.AppType; import com.android.internal.telephony.IccFileHandler; import com.android.internal.telephony.IccUtils; import com.android.internal.telephony.MccTable; @@ -438,9 +439,14 @@ public final class CdmaLteUiccRecords extends SIMRecords { @Override public boolean isProvisioned() { - // Look for MDN and MIN field to determine if the SIM is provisioned. - if ((mMdn != null) && (mMin != null)) return true; - - return false; + // If UICC card has CSIM app, look for MDN and MIN field + // to determine if the SIM is provisioned. Otherwise, + // consider the SIM is provisioned. (for case of ordinal + // USIM only UICC.) + if (phone.mIccCard.isApplicationOnIcc(AppType.APPTYPE_CSIM) && + ((mMdn == null) || (mMin == null))) { + return false; + } + return true; } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java index e41985e..5ebdd22 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java @@ -130,8 +130,8 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { private String curPlmn = null; protected String mMdn; - protected int mHomeSystemId[] = null; - protected int mHomeNetworkId[] = null; + private int mHomeSystemId[] = null; + private int mHomeNetworkId[] = null; protected String mMin; protected String mPrlVersion; protected boolean mIsMinInfoReady = false; @@ -1481,7 +1481,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { } } - protected boolean isSidsAllZeros() { + private boolean isSidsAllZeros() { if (mHomeSystemId != null) { for (int i=0; i < mHomeSystemId.length; i++) { if (mHomeSystemId[i] != 0) { diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index dcde71a..19c06f6 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -1850,7 +1850,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { if (!dc.configureRetry(SystemProperties.get("ro.gsm.data_retry_config"))) { if (!dc.configureRetry(DEFAULT_DATA_RETRY_CONFIG)) { // Should never happen, log an error and default to a simple linear sequence. - loge("createDataConnection: Could not configure using " + + loge("configureRetry: Could not configure using " + "DEFAULT_DATA_RETRY_CONFIG=" + DEFAULT_DATA_RETRY_CONFIG); dc.configureRetry(20, 2000, 1000); } @@ -1859,7 +1859,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { if (!dc.configureRetry(SystemProperties.get("ro.gsm.2nd_data_retry_config"))) { if (!dc.configureRetry(SECONDARY_DATA_RETRY_CONFIG)) { // Should never happen, log an error and default to a simple sequence. - loge("createDataConnection: Could note configure using " + + loge("configureRetry: Could note configure using " + "SECONDARY_DATA_RETRY_CONFIG=" + SECONDARY_DATA_RETRY_CONFIG); dc.configureRetry("max_retries=3, 333, 333, 333"); } @@ -1872,7 +1872,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { if (DBG) log("destroyDataConnections: clear mDataConnectionList"); mDataConnections.clear(); } else { - if (DBG) log("destroyDataConnectionList mDataConnecitonList is empty, ignore"); + if (DBG) log("destroyDataConnections: mDataConnecitonList is empty, ignore"); } } |