Loading src/java/com/android/internal/telephony/IccSmsInterfaceManager.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -651,7 +651,6 @@ public class IccSmsInterfaceManager { } } synchronized public boolean enableGsmBroadcastRange(int startMessageId, int endMessageId) { synchronized public boolean enableGsmBroadcastRange(int startMessageId, int endMessageId) { if (DBG) log("enableGsmBroadcastRange"); Context context = mPhone.getContext(); Context context = mPhone.getContext(); Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +6 −6 Original line number Original line Diff line number Diff line Loading @@ -95,7 +95,7 @@ import com.android.internal.telephony.uicc.UiccController; public class ServiceStateTracker extends Handler { public class ServiceStateTracker extends Handler { private static final String LOG_TAG = "SST"; private static final String LOG_TAG = "SST"; private static final boolean DBG = true; private static final boolean DBG = true; private static final boolean VDBG = false; private static final boolean VDBG = false; // STOPSHIP if true private static final String PROP_FORCE_ROAMING = "telephony.test.forceRoaming"; private static final String PROP_FORCE_ROAMING = "telephony.test.forceRoaming"; Loading Loading @@ -2312,11 +2312,11 @@ public class ServiceStateTracker extends Handler { protected void setPowerStateToDesired() { protected void setPowerStateToDesired() { if (DBG) { if (DBG) { log("mDeviceShuttingDown = " + mDeviceShuttingDown); log("mDeviceShuttingDown=" + mDeviceShuttingDown + log("mDesiredPowerState = " + mDesiredPowerState); ", mDesiredPowerState=" + mDesiredPowerState + log("getRadioState = " + mCi.getRadioState()); ", getRadioState=" + mCi.getRadioState() + log("mPowerOffDelayNeed = " + mPowerOffDelayNeed); ", mPowerOffDelayNeed=" + mPowerOffDelayNeed + log("mAlarmSwitch = " + mAlarmSwitch); ", mAlarmSwitch=" + mAlarmSwitch); } } if (mPhone.isPhoneTypeGsm() && mAlarmSwitch) { if (mPhone.isPhoneTypeGsm() && mAlarmSwitch) { Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +1 −2 Original line number Original line Diff line number Diff line Loading @@ -393,7 +393,7 @@ public final class DataConnection extends StateMachine { super(name, dcc.getHandler()); super(name, dcc.getHandler()); setLogRecSize(300); setLogRecSize(300); setLogOnlyTransitions(true); setLogOnlyTransitions(true); if (DBG) log("DataConnection constructor E"); if (DBG) log("DataConnection created"); mPhone = phone; mPhone = phone; mDct = dct; mDct = dct; Loading @@ -419,7 +419,6 @@ public final class DataConnection extends StateMachine { setInitialState(mInactiveState); setInitialState(mInactiveState); mApnContexts = new HashMap<ApnContext, ConnectionParams>(); mApnContexts = new HashMap<ApnContext, ConnectionParams>(); if (DBG) log("DataConnection constructor X"); } } /** /** Loading src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java +1 −2 Original line number Original line Diff line number Diff line Loading @@ -58,7 +58,7 @@ public class DcSwitchStateMachine extends StateMachine { protected DcSwitchStateMachine(Phone phone, String name, int id) { protected DcSwitchStateMachine(Phone phone, String name, int id) { super(name); super(name); if (DBG) log("DcSwitchState constructor E"); if (VDBG) log("DcSwitchState created"); mPhone = phone; mPhone = phone; mId = id; mId = id; Loading @@ -69,7 +69,6 @@ public class DcSwitchStateMachine extends StateMachine { addState(mAttachedState, mDefaultState); addState(mAttachedState, mDefaultState); addState(mDetachingState, mDefaultState); addState(mDetachingState, mDefaultState); setInitialState(mIdleState); setInitialState(mIdleState); if (DBG) log("DcSwitchState constructor X"); } } // public void notifyDataConnection(int phoneId, String state, String reason, // public void notifyDataConnection(int phoneId, String state, String reason, Loading src/java/com/android/internal/telephony/dataconnection/DcTracker.java +51 −34 Original line number Original line Diff line number Diff line Loading @@ -76,7 +76,6 @@ import com.android.internal.telephony.EventLogTags; import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.uicc.IccRecords; import com.android.internal.telephony.uicc.IccRecords; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.util.AsyncChannel; import com.android.internal.util.AsyncChannel; Loading Loading @@ -933,7 +932,7 @@ public class DcTracker extends Handler { boolean isEmergencyApn = apnContext.getApnType().equals(PhoneConstants.APN_TYPE_EMERGENCY); boolean isEmergencyApn = apnContext.getApnType().equals(PhoneConstants.APN_TYPE_EMERGENCY); // Set the emergency APN availability status as TRUE irrespective of conditions checked in // Set the emergency APN availability status as TRUE irrespective of conditions checked in // isDataAllowed() like IN_SERVICE, MOBILE DATA status etc. // isDataAllowed() like IN_SERVICE, MOBILE DATA status etc. boolean dataAllowed = isEmergencyApn || isDataAllowed(); boolean dataAllowed = isEmergencyApn || isDataAllowed(null); boolean possible = dataAllowed && apnTypePossible; boolean possible = dataAllowed && apnTypePossible; if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) Loading Loading @@ -1210,10 +1209,15 @@ public class DcTracker extends Handler { public boolean getAnyDataEnabled() { public boolean getAnyDataEnabled() { synchronized (mDataEnabledLock) { synchronized (mDataEnabledLock) { if (!(mInternalDataEnabled && mUserDataEnabled && sPolicyDataEnabled)) return false; if (!(mInternalDataEnabled && mUserDataEnabled && sPolicyDataEnabled)) return false; StringBuilder failureReason = new StringBuilder(); if (!isDataAllowed(failureReason)) { if (DBG) log(failureReason.toString()); return false; } for (ApnContext apnContext : mApnContexts.values()) { for (ApnContext apnContext : mApnContexts.values()) { // Make sure we don't have a context that is going down // Make sure we don't have a context that is going down // and is explicitly disabled. // and is explicitly disabled. if (isDataAllowed(apnContext)) { if (isDataAllowedForApn(apnContext)) { return true; return true; } } } } Loading @@ -1227,10 +1231,15 @@ public class DcTracker extends Handler { && (!checkUserDataEnabled || sPolicyDataEnabled))) && (!checkUserDataEnabled || sPolicyDataEnabled))) return false; return false; StringBuilder failureReason = new StringBuilder(); if (!isDataAllowed(failureReason)) { if (DBG) log(failureReason.toString()); return false; } for (ApnContext apnContext : mApnContexts.values()) { for (ApnContext apnContext : mApnContexts.values()) { // Make sure we dont have a context that going down // Make sure we dont have a context that going down // and is explicitly disabled. // and is explicitly disabled. if (isDataAllowed(apnContext)) { if (isDataAllowedForApn(apnContext)) { return true; return true; } } } } Loading @@ -1238,7 +1247,7 @@ public class DcTracker extends Handler { } } } } private boolean isDataAllowed(ApnContext apnContext) { private boolean isDataAllowedForApn(ApnContext apnContext) { //If RAT is iwlan then dont allow default/IA PDP at all. //If RAT is iwlan then dont allow default/IA PDP at all. //Rest of APN types can be evaluated for remaining conditions. //Rest of APN types can be evaluated for remaining conditions. if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) Loading @@ -1247,9 +1256,9 @@ public class DcTracker extends Handler { == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN)) { == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN)) { log("Default data call activation not allowed in iwlan."); log("Default data call activation not allowed in iwlan."); return false; return false; } else { return apnContext.isReady() && isDataAllowed(); } } return apnContext.isReady(); } } //****** Called from ServiceStateTracker //****** Called from ServiceStateTracker Loading Loading @@ -1287,7 +1296,7 @@ public class DcTracker extends Handler { setupDataOnConnectableApns(Phone.REASON_DATA_ATTACHED); setupDataOnConnectableApns(Phone.REASON_DATA_ATTACHED); } } private boolean isDataAllowed() { private boolean isDataAllowed(StringBuilder failureReason) { final boolean internalDataEnabled; final boolean internalDataEnabled; synchronized (mDataEnabledLock) { synchronized (mDataEnabledLock) { internalDataEnabled = mInternalDataEnabled; internalDataEnabled = mInternalDataEnabled; Loading Loading @@ -1331,25 +1340,25 @@ public class DcTracker extends Handler { (!mPhone.getServiceState().getDataRoaming() || getDataOnRoamingEnabled()) && (!mPhone.getServiceState().getDataRoaming() || getDataOnRoamingEnabled()) && !mIsPsRestricted && !mIsPsRestricted && desiredPowerState; desiredPowerState; if (!allowed && DBG) { if (!allowed && failureReason != null) { String reason = ""; failureReason.setLength(0); failureReason.append("isDataAllowed: No"); if (!(attachedState || mAutoAttachOnCreation.get())) { if (!(attachedState || mAutoAttachOnCreation.get())) { reason += " - Attached= " + attachedState; failureReason.append(" - Attached= " + attachedState); } } if (!recordsLoaded) reason += " - SIM not loaded"; if (!recordsLoaded) failureReason.append(" - SIM not loaded"); if (state != PhoneConstants.State.IDLE && if (state != PhoneConstants.State.IDLE && !mPhone.getServiceStateTracker().isConcurrentVoiceAndDataAllowed()) { !mPhone.getServiceStateTracker().isConcurrentVoiceAndDataAllowed()) { reason += " - PhoneState= " + state; failureReason.append(" - PhoneState= " + state); reason += " - Concurrent voice and data not allowed"; failureReason.append(" - Concurrent voice and data not allowed"); } } if (!internalDataEnabled) reason += " - mInternalDataEnabled= false"; if (!internalDataEnabled) failureReason.append(" - mInternalDataEnabled= false"); if (!defaultDataSelected) reason += " - defaultDataSelected= false"; if (!defaultDataSelected) failureReason.append(" - defaultDataSelected= false"); if (mPhone.getServiceState().getDataRoaming() && !getDataOnRoamingEnabled()) { if (mPhone.getServiceState().getDataRoaming() && !getDataOnRoamingEnabled()) { reason += " - Roaming and data roaming not enabled"; failureReason.append(" - Roaming and data roaming not enabled"); } } if (mIsPsRestricted) reason += " - mIsPsRestricted= true"; if (mIsPsRestricted) failureReason.append(" - mIsPsRestricted= true"); if (!desiredPowerState) reason += " - desiredPowerState= false"; if (!desiredPowerState) failureReason.append(" - desiredPowerState= false"); log("isDataAllowed: No" + reason); } } return allowed; return allowed; } } Loading @@ -1369,7 +1378,7 @@ public class DcTracker extends Handler { } } private void setupDataOnConnectableApns(String reason, RetryFailures retryFailures) { private void setupDataOnConnectableApns(String reason, RetryFailures retryFailures) { if (DBG) log("setupDataOnConnectableApns: " + reason); if (VDBG) log("setupDataOnConnectableApns: " + reason); if (DBG && !VDBG) { if (DBG && !VDBG) { StringBuilder sb = new StringBuilder(120); StringBuilder sb = new StringBuilder(120); Loading @@ -1381,7 +1390,7 @@ public class DcTracker extends Handler { sb.append(apnContext.isEnabled()); sb.append(apnContext.isEnabled()); sb.append("] "); sb.append("] "); } } log("setupDataOnConnectableApns: " + sb); log("setupDataOnConnectableApns: " + reason + " " + sb); } } for (ApnContext apnContext : mPrioritySortedApnContexts) { for (ApnContext apnContext : mPrioritySortedApnContexts) { Loading Loading @@ -1415,7 +1424,7 @@ public class DcTracker extends Handler { } } } } if (apnContext.isConnectable()) { if (apnContext.isConnectable()) { log("setupDataOnConnectableApns: isConnectable() call trySetupData"); log("isConnectable() call trySetupData"); apnContext.setReason(reason); apnContext.setReason(reason); trySetupData(apnContext, waitingApns); trySetupData(apnContext, waitingApns); } } Loading @@ -1438,8 +1447,7 @@ public class DcTracker extends Handler { private boolean trySetupData(ApnContext apnContext, ArrayList<ApnSetting> waitingApns) { private boolean trySetupData(ApnContext apnContext, ArrayList<ApnSetting> waitingApns) { if (DBG) { if (DBG) { log("trySetupData for type:" + apnContext.getApnType() + log("trySetupData for type:" + apnContext.getApnType() + " due to " + apnContext.getReason() + " apnContext=" + apnContext); " due to " + apnContext.getReason() + ", mIsPsRestricted=" + mIsPsRestricted); log("trySetupData with mIsPsRestricted=" + mIsPsRestricted); } } apnContext.requestLog("trySetupData due to " + apnContext.getReason()); apnContext.requestLog("trySetupData due to " + apnContext.getReason()); Loading @@ -1461,9 +1469,14 @@ public class DcTracker extends Handler { boolean checkUserDataEnabled = boolean checkUserDataEnabled = !(apnContext.getApnType().equals(PhoneConstants.APN_TYPE_IMS)); !(apnContext.getApnType().equals(PhoneConstants.APN_TYPE_IMS)); StringBuilder failureReason = new StringBuilder(); if (apnContext.isConnectable() && (isEmergencyApn || if (apnContext.isConnectable() && (isEmergencyApn || (isDataAllowed(apnContext) && (isDataAllowed(failureReason) && isDataAllowedForApn(apnContext) && getAnyDataEnabled(checkUserDataEnabled) && !isEmergency()))) { getAnyDataEnabled(checkUserDataEnabled) && !isEmergency()))) { if (!failureReason.toString().isEmpty()) { if (DBG) log(failureReason.toString()); apnContext.requestLog(failureReason.toString()); } if (apnContext.getState() == DctConstants.State.FAILED) { if (apnContext.getState() == DctConstants.State.FAILED) { String str ="trySetupData: make a FAILED ApnContext IDLE so its reusable"; String str ="trySetupData: make a FAILED ApnContext IDLE so its reusable"; if (DBG) log(str); if (DBG) log(str); Loading Loading @@ -1492,10 +1505,6 @@ public class DcTracker extends Handler { } } } } if (DBG) { log("trySetupData: call setupData, waitingApns : " + apnListToString(apnContext.getWaitingApns())); } boolean retValue = setupData(apnContext, radioTech); boolean retValue = setupData(apnContext, radioTech); notifyOffApnsOfAvailability(apnContext.getReason()); notifyOffApnsOfAvailability(apnContext.getReason()); Loading @@ -1512,7 +1521,8 @@ public class DcTracker extends Handler { if (DBG) { if (DBG) { log(str); log(str); if (!apnContext.isConnectable()) log("apnContext.isConnectable = false"); if (!apnContext.isConnectable()) log("apnContext.isConnectable = false"); if (!isDataAllowed(apnContext)) log("isDataAllowed = false"); if (!isDataAllowed(failureReason)) log(failureReason.toString()); if (!isDataAllowedForApn(apnContext)) log("isDataAllowedForApn = false"); if (!getAnyDataEnabled(checkUserDataEnabled)) { if (!getAnyDataEnabled(checkUserDataEnabled)) { log("getAnyDataEnabled(" + checkUserDataEnabled + ") = false"); log("getAnyDataEnabled(" + checkUserDataEnabled + ") = false"); } } Loading @@ -1523,6 +1533,13 @@ public class DcTracker extends Handler { // Disabled apn's still need avail/unavail notifications - send them out // Disabled apn's still need avail/unavail notifications - send them out private void notifyOffApnsOfAvailability(String reason) { private void notifyOffApnsOfAvailability(String reason) { if (DBG) { StringBuilder failureReason = new StringBuilder(); isDataAllowed(failureReason); if (!failureReason.toString().isEmpty()) { log(failureReason.toString()); } } for (ApnContext apnContext : mApnContexts.values()) { for (ApnContext apnContext : mApnContexts.values()) { if (!mAttached.get() || !apnContext.isReady()) { if (!mAttached.get() || !apnContext.isReady()) { if (VDBG) log("notifyOffApnOfAvailability type:" + apnContext.getApnType()); if (VDBG) log("notifyOffApnOfAvailability type:" + apnContext.getApnType()); Loading Loading @@ -1619,7 +1636,7 @@ public class DcTracker extends Handler { DcAsyncChannel dcac = apnContext.getDcAc(); DcAsyncChannel dcac = apnContext.getDcAc(); String str = "cleanUpConnection: tearDown=" + tearDown + " reason=" + String str = "cleanUpConnection: tearDown=" + tearDown + " reason=" + apnContext.getReason(); apnContext.getReason(); if (DBG) log(str + " apnContext=" + apnContext); if (VDBG) log(str + " apnContext=" + apnContext); apnContext.requestLog(str); apnContext.requestLog(str); if (tearDown) { if (tearDown) { if (apnContext.isDisconnected()) { if (apnContext.isDisconnected()) { Loading Loading
src/java/com/android/internal/telephony/IccSmsInterfaceManager.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -651,7 +651,6 @@ public class IccSmsInterfaceManager { } } synchronized public boolean enableGsmBroadcastRange(int startMessageId, int endMessageId) { synchronized public boolean enableGsmBroadcastRange(int startMessageId, int endMessageId) { if (DBG) log("enableGsmBroadcastRange"); Context context = mPhone.getContext(); Context context = mPhone.getContext(); Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +6 −6 Original line number Original line Diff line number Diff line Loading @@ -95,7 +95,7 @@ import com.android.internal.telephony.uicc.UiccController; public class ServiceStateTracker extends Handler { public class ServiceStateTracker extends Handler { private static final String LOG_TAG = "SST"; private static final String LOG_TAG = "SST"; private static final boolean DBG = true; private static final boolean DBG = true; private static final boolean VDBG = false; private static final boolean VDBG = false; // STOPSHIP if true private static final String PROP_FORCE_ROAMING = "telephony.test.forceRoaming"; private static final String PROP_FORCE_ROAMING = "telephony.test.forceRoaming"; Loading Loading @@ -2312,11 +2312,11 @@ public class ServiceStateTracker extends Handler { protected void setPowerStateToDesired() { protected void setPowerStateToDesired() { if (DBG) { if (DBG) { log("mDeviceShuttingDown = " + mDeviceShuttingDown); log("mDeviceShuttingDown=" + mDeviceShuttingDown + log("mDesiredPowerState = " + mDesiredPowerState); ", mDesiredPowerState=" + mDesiredPowerState + log("getRadioState = " + mCi.getRadioState()); ", getRadioState=" + mCi.getRadioState() + log("mPowerOffDelayNeed = " + mPowerOffDelayNeed); ", mPowerOffDelayNeed=" + mPowerOffDelayNeed + log("mAlarmSwitch = " + mAlarmSwitch); ", mAlarmSwitch=" + mAlarmSwitch); } } if (mPhone.isPhoneTypeGsm() && mAlarmSwitch) { if (mPhone.isPhoneTypeGsm() && mAlarmSwitch) { Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +1 −2 Original line number Original line Diff line number Diff line Loading @@ -393,7 +393,7 @@ public final class DataConnection extends StateMachine { super(name, dcc.getHandler()); super(name, dcc.getHandler()); setLogRecSize(300); setLogRecSize(300); setLogOnlyTransitions(true); setLogOnlyTransitions(true); if (DBG) log("DataConnection constructor E"); if (DBG) log("DataConnection created"); mPhone = phone; mPhone = phone; mDct = dct; mDct = dct; Loading @@ -419,7 +419,6 @@ public final class DataConnection extends StateMachine { setInitialState(mInactiveState); setInitialState(mInactiveState); mApnContexts = new HashMap<ApnContext, ConnectionParams>(); mApnContexts = new HashMap<ApnContext, ConnectionParams>(); if (DBG) log("DataConnection constructor X"); } } /** /** Loading
src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java +1 −2 Original line number Original line Diff line number Diff line Loading @@ -58,7 +58,7 @@ public class DcSwitchStateMachine extends StateMachine { protected DcSwitchStateMachine(Phone phone, String name, int id) { protected DcSwitchStateMachine(Phone phone, String name, int id) { super(name); super(name); if (DBG) log("DcSwitchState constructor E"); if (VDBG) log("DcSwitchState created"); mPhone = phone; mPhone = phone; mId = id; mId = id; Loading @@ -69,7 +69,6 @@ public class DcSwitchStateMachine extends StateMachine { addState(mAttachedState, mDefaultState); addState(mAttachedState, mDefaultState); addState(mDetachingState, mDefaultState); addState(mDetachingState, mDefaultState); setInitialState(mIdleState); setInitialState(mIdleState); if (DBG) log("DcSwitchState constructor X"); } } // public void notifyDataConnection(int phoneId, String state, String reason, // public void notifyDataConnection(int phoneId, String state, String reason, Loading
src/java/com/android/internal/telephony/dataconnection/DcTracker.java +51 −34 Original line number Original line Diff line number Diff line Loading @@ -76,7 +76,6 @@ import com.android.internal.telephony.EventLogTags; import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.uicc.IccRecords; import com.android.internal.telephony.uicc.IccRecords; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.util.AsyncChannel; import com.android.internal.util.AsyncChannel; Loading Loading @@ -933,7 +932,7 @@ public class DcTracker extends Handler { boolean isEmergencyApn = apnContext.getApnType().equals(PhoneConstants.APN_TYPE_EMERGENCY); boolean isEmergencyApn = apnContext.getApnType().equals(PhoneConstants.APN_TYPE_EMERGENCY); // Set the emergency APN availability status as TRUE irrespective of conditions checked in // Set the emergency APN availability status as TRUE irrespective of conditions checked in // isDataAllowed() like IN_SERVICE, MOBILE DATA status etc. // isDataAllowed() like IN_SERVICE, MOBILE DATA status etc. boolean dataAllowed = isEmergencyApn || isDataAllowed(); boolean dataAllowed = isEmergencyApn || isDataAllowed(null); boolean possible = dataAllowed && apnTypePossible; boolean possible = dataAllowed && apnTypePossible; if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) Loading Loading @@ -1210,10 +1209,15 @@ public class DcTracker extends Handler { public boolean getAnyDataEnabled() { public boolean getAnyDataEnabled() { synchronized (mDataEnabledLock) { synchronized (mDataEnabledLock) { if (!(mInternalDataEnabled && mUserDataEnabled && sPolicyDataEnabled)) return false; if (!(mInternalDataEnabled && mUserDataEnabled && sPolicyDataEnabled)) return false; StringBuilder failureReason = new StringBuilder(); if (!isDataAllowed(failureReason)) { if (DBG) log(failureReason.toString()); return false; } for (ApnContext apnContext : mApnContexts.values()) { for (ApnContext apnContext : mApnContexts.values()) { // Make sure we don't have a context that is going down // Make sure we don't have a context that is going down // and is explicitly disabled. // and is explicitly disabled. if (isDataAllowed(apnContext)) { if (isDataAllowedForApn(apnContext)) { return true; return true; } } } } Loading @@ -1227,10 +1231,15 @@ public class DcTracker extends Handler { && (!checkUserDataEnabled || sPolicyDataEnabled))) && (!checkUserDataEnabled || sPolicyDataEnabled))) return false; return false; StringBuilder failureReason = new StringBuilder(); if (!isDataAllowed(failureReason)) { if (DBG) log(failureReason.toString()); return false; } for (ApnContext apnContext : mApnContexts.values()) { for (ApnContext apnContext : mApnContexts.values()) { // Make sure we dont have a context that going down // Make sure we dont have a context that going down // and is explicitly disabled. // and is explicitly disabled. if (isDataAllowed(apnContext)) { if (isDataAllowedForApn(apnContext)) { return true; return true; } } } } Loading @@ -1238,7 +1247,7 @@ public class DcTracker extends Handler { } } } } private boolean isDataAllowed(ApnContext apnContext) { private boolean isDataAllowedForApn(ApnContext apnContext) { //If RAT is iwlan then dont allow default/IA PDP at all. //If RAT is iwlan then dont allow default/IA PDP at all. //Rest of APN types can be evaluated for remaining conditions. //Rest of APN types can be evaluated for remaining conditions. if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) if ((apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DEFAULT) Loading @@ -1247,9 +1256,9 @@ public class DcTracker extends Handler { == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN)) { == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN)) { log("Default data call activation not allowed in iwlan."); log("Default data call activation not allowed in iwlan."); return false; return false; } else { return apnContext.isReady() && isDataAllowed(); } } return apnContext.isReady(); } } //****** Called from ServiceStateTracker //****** Called from ServiceStateTracker Loading Loading @@ -1287,7 +1296,7 @@ public class DcTracker extends Handler { setupDataOnConnectableApns(Phone.REASON_DATA_ATTACHED); setupDataOnConnectableApns(Phone.REASON_DATA_ATTACHED); } } private boolean isDataAllowed() { private boolean isDataAllowed(StringBuilder failureReason) { final boolean internalDataEnabled; final boolean internalDataEnabled; synchronized (mDataEnabledLock) { synchronized (mDataEnabledLock) { internalDataEnabled = mInternalDataEnabled; internalDataEnabled = mInternalDataEnabled; Loading Loading @@ -1331,25 +1340,25 @@ public class DcTracker extends Handler { (!mPhone.getServiceState().getDataRoaming() || getDataOnRoamingEnabled()) && (!mPhone.getServiceState().getDataRoaming() || getDataOnRoamingEnabled()) && !mIsPsRestricted && !mIsPsRestricted && desiredPowerState; desiredPowerState; if (!allowed && DBG) { if (!allowed && failureReason != null) { String reason = ""; failureReason.setLength(0); failureReason.append("isDataAllowed: No"); if (!(attachedState || mAutoAttachOnCreation.get())) { if (!(attachedState || mAutoAttachOnCreation.get())) { reason += " - Attached= " + attachedState; failureReason.append(" - Attached= " + attachedState); } } if (!recordsLoaded) reason += " - SIM not loaded"; if (!recordsLoaded) failureReason.append(" - SIM not loaded"); if (state != PhoneConstants.State.IDLE && if (state != PhoneConstants.State.IDLE && !mPhone.getServiceStateTracker().isConcurrentVoiceAndDataAllowed()) { !mPhone.getServiceStateTracker().isConcurrentVoiceAndDataAllowed()) { reason += " - PhoneState= " + state; failureReason.append(" - PhoneState= " + state); reason += " - Concurrent voice and data not allowed"; failureReason.append(" - Concurrent voice and data not allowed"); } } if (!internalDataEnabled) reason += " - mInternalDataEnabled= false"; if (!internalDataEnabled) failureReason.append(" - mInternalDataEnabled= false"); if (!defaultDataSelected) reason += " - defaultDataSelected= false"; if (!defaultDataSelected) failureReason.append(" - defaultDataSelected= false"); if (mPhone.getServiceState().getDataRoaming() && !getDataOnRoamingEnabled()) { if (mPhone.getServiceState().getDataRoaming() && !getDataOnRoamingEnabled()) { reason += " - Roaming and data roaming not enabled"; failureReason.append(" - Roaming and data roaming not enabled"); } } if (mIsPsRestricted) reason += " - mIsPsRestricted= true"; if (mIsPsRestricted) failureReason.append(" - mIsPsRestricted= true"); if (!desiredPowerState) reason += " - desiredPowerState= false"; if (!desiredPowerState) failureReason.append(" - desiredPowerState= false"); log("isDataAllowed: No" + reason); } } return allowed; return allowed; } } Loading @@ -1369,7 +1378,7 @@ public class DcTracker extends Handler { } } private void setupDataOnConnectableApns(String reason, RetryFailures retryFailures) { private void setupDataOnConnectableApns(String reason, RetryFailures retryFailures) { if (DBG) log("setupDataOnConnectableApns: " + reason); if (VDBG) log("setupDataOnConnectableApns: " + reason); if (DBG && !VDBG) { if (DBG && !VDBG) { StringBuilder sb = new StringBuilder(120); StringBuilder sb = new StringBuilder(120); Loading @@ -1381,7 +1390,7 @@ public class DcTracker extends Handler { sb.append(apnContext.isEnabled()); sb.append(apnContext.isEnabled()); sb.append("] "); sb.append("] "); } } log("setupDataOnConnectableApns: " + sb); log("setupDataOnConnectableApns: " + reason + " " + sb); } } for (ApnContext apnContext : mPrioritySortedApnContexts) { for (ApnContext apnContext : mPrioritySortedApnContexts) { Loading Loading @@ -1415,7 +1424,7 @@ public class DcTracker extends Handler { } } } } if (apnContext.isConnectable()) { if (apnContext.isConnectable()) { log("setupDataOnConnectableApns: isConnectable() call trySetupData"); log("isConnectable() call trySetupData"); apnContext.setReason(reason); apnContext.setReason(reason); trySetupData(apnContext, waitingApns); trySetupData(apnContext, waitingApns); } } Loading @@ -1438,8 +1447,7 @@ public class DcTracker extends Handler { private boolean trySetupData(ApnContext apnContext, ArrayList<ApnSetting> waitingApns) { private boolean trySetupData(ApnContext apnContext, ArrayList<ApnSetting> waitingApns) { if (DBG) { if (DBG) { log("trySetupData for type:" + apnContext.getApnType() + log("trySetupData for type:" + apnContext.getApnType() + " due to " + apnContext.getReason() + " apnContext=" + apnContext); " due to " + apnContext.getReason() + ", mIsPsRestricted=" + mIsPsRestricted); log("trySetupData with mIsPsRestricted=" + mIsPsRestricted); } } apnContext.requestLog("trySetupData due to " + apnContext.getReason()); apnContext.requestLog("trySetupData due to " + apnContext.getReason()); Loading @@ -1461,9 +1469,14 @@ public class DcTracker extends Handler { boolean checkUserDataEnabled = boolean checkUserDataEnabled = !(apnContext.getApnType().equals(PhoneConstants.APN_TYPE_IMS)); !(apnContext.getApnType().equals(PhoneConstants.APN_TYPE_IMS)); StringBuilder failureReason = new StringBuilder(); if (apnContext.isConnectable() && (isEmergencyApn || if (apnContext.isConnectable() && (isEmergencyApn || (isDataAllowed(apnContext) && (isDataAllowed(failureReason) && isDataAllowedForApn(apnContext) && getAnyDataEnabled(checkUserDataEnabled) && !isEmergency()))) { getAnyDataEnabled(checkUserDataEnabled) && !isEmergency()))) { if (!failureReason.toString().isEmpty()) { if (DBG) log(failureReason.toString()); apnContext.requestLog(failureReason.toString()); } if (apnContext.getState() == DctConstants.State.FAILED) { if (apnContext.getState() == DctConstants.State.FAILED) { String str ="trySetupData: make a FAILED ApnContext IDLE so its reusable"; String str ="trySetupData: make a FAILED ApnContext IDLE so its reusable"; if (DBG) log(str); if (DBG) log(str); Loading Loading @@ -1492,10 +1505,6 @@ public class DcTracker extends Handler { } } } } if (DBG) { log("trySetupData: call setupData, waitingApns : " + apnListToString(apnContext.getWaitingApns())); } boolean retValue = setupData(apnContext, radioTech); boolean retValue = setupData(apnContext, radioTech); notifyOffApnsOfAvailability(apnContext.getReason()); notifyOffApnsOfAvailability(apnContext.getReason()); Loading @@ -1512,7 +1521,8 @@ public class DcTracker extends Handler { if (DBG) { if (DBG) { log(str); log(str); if (!apnContext.isConnectable()) log("apnContext.isConnectable = false"); if (!apnContext.isConnectable()) log("apnContext.isConnectable = false"); if (!isDataAllowed(apnContext)) log("isDataAllowed = false"); if (!isDataAllowed(failureReason)) log(failureReason.toString()); if (!isDataAllowedForApn(apnContext)) log("isDataAllowedForApn = false"); if (!getAnyDataEnabled(checkUserDataEnabled)) { if (!getAnyDataEnabled(checkUserDataEnabled)) { log("getAnyDataEnabled(" + checkUserDataEnabled + ") = false"); log("getAnyDataEnabled(" + checkUserDataEnabled + ") = false"); } } Loading @@ -1523,6 +1533,13 @@ public class DcTracker extends Handler { // Disabled apn's still need avail/unavail notifications - send them out // Disabled apn's still need avail/unavail notifications - send them out private void notifyOffApnsOfAvailability(String reason) { private void notifyOffApnsOfAvailability(String reason) { if (DBG) { StringBuilder failureReason = new StringBuilder(); isDataAllowed(failureReason); if (!failureReason.toString().isEmpty()) { log(failureReason.toString()); } } for (ApnContext apnContext : mApnContexts.values()) { for (ApnContext apnContext : mApnContexts.values()) { if (!mAttached.get() || !apnContext.isReady()) { if (!mAttached.get() || !apnContext.isReady()) { if (VDBG) log("notifyOffApnOfAvailability type:" + apnContext.getApnType()); if (VDBG) log("notifyOffApnOfAvailability type:" + apnContext.getApnType()); Loading Loading @@ -1619,7 +1636,7 @@ public class DcTracker extends Handler { DcAsyncChannel dcac = apnContext.getDcAc(); DcAsyncChannel dcac = apnContext.getDcAc(); String str = "cleanUpConnection: tearDown=" + tearDown + " reason=" + String str = "cleanUpConnection: tearDown=" + tearDown + " reason=" + apnContext.getReason(); apnContext.getReason(); if (DBG) log(str + " apnContext=" + apnContext); if (VDBG) log(str + " apnContext=" + apnContext); apnContext.requestLog(str); apnContext.requestLog(str); if (tearDown) { if (tearDown) { if (apnContext.isDisconnected()) { if (apnContext.isDisconnected()) { Loading