diff options
| author | 2009-11-05 19:25:11 -0500 | |
|---|---|---|
| committer | 2009-11-05 19:25:11 -0500 | |
| commit | 09263e1bc0f8f783b24b92643d4ccda87966d01f (patch) | |
| tree | 6f52706bd69e7f7d9d19becbc0310bb9dfe58eb4 | |
| parent | 1e495da19f3f0061de38821a4ac733dca833b3eb (diff) | |
| parent | 684b802dd9ec9e145220855d2380a3a9cd39a033 (diff) | |
Merge change Id0267cc0 into eclair
* changes:
Add needsOtaServiceProvisioning and used to not allow data calls until the device is provisioned.
| -rwxr-xr-x | telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java | 24 | ||||
| -rw-r--r-- | telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java | 6 |
2 files changed, 28 insertions, 2 deletions
diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java index 22fbe8bf1a30..3548cad95cb6 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java @@ -80,6 +80,10 @@ public class CDMAPhone extends PhoneBase { static final String LOG_TAG = "CDMA"; private static final boolean DBG = true; + // Min values used to by needsActivation + private static final String UNACTIVATED_MIN2_VALUE = "000000"; + private static final String UNACTIVATED_MIN_VALUE = "1111110111"; + // Default Emergency Callback Mode exit timer private static final int DEFAULT_ECM_EXIT_TIMER_VALUE = 300000; @@ -848,6 +852,26 @@ public class CDMAPhone extends PhoneBase { mRuimRecords.setVoiceMessageWaiting(1, mwi); } + /** + * Returns true if CDMA OTA Service Provisioning needs to be performed. + */ + /* package */ boolean + needsOtaServiceProvisioning() { + String cdmaMin = getCdmaMin(); + boolean needsProvisioning; + if (cdmaMin == null || (cdmaMin.length() < 6)) { + if (DBG) Log.d(LOG_TAG, "needsOtaServiceProvisioning: illegal cdmaMin='" + + cdmaMin + "' assume provisioning needed."); + needsProvisioning = true; + } else { + needsProvisioning = (cdmaMin.equals(UNACTIVATED_MIN_VALUE) + || cdmaMin.substring(0,6).equals(UNACTIVATED_MIN2_VALUE)) + || SystemProperties.getBoolean("test_cdma_setup", false); + } + if (DBG) Log.d(LOG_TAG, "needsOtaServiceProvisioning: ret=" + needsProvisioning); + return needsProvisioning; + } + @Override public void exitEmergencyCallbackMode() { if (mWakeLock.isHeld()) { diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java index a4cf4f588bdf..9bc5e8ed4830 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java @@ -330,7 +330,8 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { phone.getState() == Phone.State.IDLE ) && isDataAllowed() && desiredPowerState - && !mPendingRestartRadio) { + && !mPendingRestartRadio + && !mCdmaPhone.needsOtaServiceProvisioning()) { return setupData(reason); @@ -348,7 +349,8 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { " dataOnRoamingEnable=" + getDataOnRoamingEnabled() + " desiredPowerState=" + desiredPowerState + " PendingRestartRadio=" + mPendingRestartRadio + - " MasterDataEnabled=" + mMasterDataEnabled); + " MasterDataEnabled=" + mMasterDataEnabled + + " needsOtaServiceProvisioning=" + mCdmaPhone.needsOtaServiceProvisioning()); } return false; } |