Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +24 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.util.AsyncChannel; import com.android.internal.util.FastPrintWriter; import com.android.internal.util.Protocol; import com.android.internal.util.State; import com.android.internal.util.StateMachine; Loading Loading @@ -54,7 +55,9 @@ import android.util.Patterns; import android.util.TimeUtils; import java.io.FileDescriptor; import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import java.util.Locale; Loading Loading @@ -1108,7 +1111,11 @@ public final class DataConnection extends StateMachine { break; } case AsyncChannel.CMD_CHANNEL_DISCONNECTED: { if (VDBG) log("CMD_CHANNEL_DISCONNECTED"); if (DBG) { log("DcDefault: CMD_CHANNEL_DISCONNECTED before quiting call dump"); dumpToLog(); } quit(); break; } Loading Loading @@ -1951,15 +1958,17 @@ public final class DataConnection extends StateMachine { super(l, c, TAG, ni, nc, lp, score, misc); } @Override protected void unwanted() { if (mNetworkAgent != this) { log("unwanted found mNetworkAgent=" + mNetworkAgent + log("DcNetworkAgent: unwanted found mNetworkAgent=" + mNetworkAgent + ", which isn't me. Aborting unwanted"); return; } // this can only happen if our exit has been called - we're already disconnected if (mApnContexts == null) return; for (ApnContext apnContext : mApnContexts) { log("DcNetworkAgent: [unwanted]: disconnect apnContext=" + apnContext); Message msg = mDct.obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, apnContext); DisconnectParams dp = new DisconnectParams(apnContext, apnContext.getReason(), msg); DataConnection.this.sendMessage(DataConnection.this. Loading Loading @@ -2120,6 +2129,19 @@ public final class DataConnection extends StateMachine { return "{" + toStringSimple() + " mApnContexts=" + mApnContexts + "}"; } private void dumpToLog() { dump(null, new PrintWriter(new StringWriter(0)) { @Override public void println(String s) { DataConnection.this.logd(s); } @Override public void flush() { } }, null); } /** * Dump the current state. * Loading src/java/com/android/internal/telephony/dataconnection/DcTracker.java +9 −2 Original line number Diff line number Diff line Loading @@ -979,6 +979,10 @@ public final class DcTracker extends DcTrackerBase { apnContext.setState(DctConstants.State.IDLE); if (!apnContext.isReady()) { if (dcac != null) { if (DBG) { log("cleanUpConnection: teardown, disconnected, !ready apnContext=" + apnContext); } dcac.tearDown(apnContext, "", null); } apnContext.setDataConnectionAc(null); Loading @@ -992,7 +996,9 @@ public final class DcTracker extends DcTrackerBase { // CAF_MSIM is this below condition required. // if (PhoneConstants.APN_TYPE_DUN.equals(PhoneConstants.APN_TYPE_DEFAULT)) { if (teardownForDun()) { if (DBG) log("tearing down dedicated DUN connection"); if (DBG) { log("cleanUpConnection: disconnectAll DUN connection"); } // we need to tear it down - we brought it up just for dun and // other people are camped on it and now dun is done. We need // to stop using it and let the normal apn list get used to find Loading @@ -1001,7 +1007,8 @@ public final class DcTracker extends DcTrackerBase { } } if (DBG) { log("cleanUpConnection: tearing down" + (disconnectAll ? " all" :"")); log("cleanUpConnection: tearing down" + (disconnectAll ? " all" :"") + "apnContext=" + apnContext); } Message msg = obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, apnContext); if (disconnectAll) { Loading src/java/com/android/internal/telephony/dataconnection/DcTrackerBase.java +3 −0 Original line number Diff line number Diff line Loading @@ -538,6 +538,9 @@ public abstract class DcTrackerBase extends Handler { } DcAsyncChannel dcac = apnContext.getDcAc(); if (dcac != null) { if (DBG) { log("onActionIntentReconnectAlarm: tearDown apnContext=" + apnContext); } dcac.tearDown(apnContext, "", null); } apnContext.setDataConnectionAc(null); Loading Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +24 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.util.AsyncChannel; import com.android.internal.util.FastPrintWriter; import com.android.internal.util.Protocol; import com.android.internal.util.State; import com.android.internal.util.StateMachine; Loading Loading @@ -54,7 +55,9 @@ import android.util.Patterns; import android.util.TimeUtils; import java.io.FileDescriptor; import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import java.util.Locale; Loading Loading @@ -1108,7 +1111,11 @@ public final class DataConnection extends StateMachine { break; } case AsyncChannel.CMD_CHANNEL_DISCONNECTED: { if (VDBG) log("CMD_CHANNEL_DISCONNECTED"); if (DBG) { log("DcDefault: CMD_CHANNEL_DISCONNECTED before quiting call dump"); dumpToLog(); } quit(); break; } Loading Loading @@ -1951,15 +1958,17 @@ public final class DataConnection extends StateMachine { super(l, c, TAG, ni, nc, lp, score, misc); } @Override protected void unwanted() { if (mNetworkAgent != this) { log("unwanted found mNetworkAgent=" + mNetworkAgent + log("DcNetworkAgent: unwanted found mNetworkAgent=" + mNetworkAgent + ", which isn't me. Aborting unwanted"); return; } // this can only happen if our exit has been called - we're already disconnected if (mApnContexts == null) return; for (ApnContext apnContext : mApnContexts) { log("DcNetworkAgent: [unwanted]: disconnect apnContext=" + apnContext); Message msg = mDct.obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, apnContext); DisconnectParams dp = new DisconnectParams(apnContext, apnContext.getReason(), msg); DataConnection.this.sendMessage(DataConnection.this. Loading Loading @@ -2120,6 +2129,19 @@ public final class DataConnection extends StateMachine { return "{" + toStringSimple() + " mApnContexts=" + mApnContexts + "}"; } private void dumpToLog() { dump(null, new PrintWriter(new StringWriter(0)) { @Override public void println(String s) { DataConnection.this.logd(s); } @Override public void flush() { } }, null); } /** * Dump the current state. * Loading
src/java/com/android/internal/telephony/dataconnection/DcTracker.java +9 −2 Original line number Diff line number Diff line Loading @@ -979,6 +979,10 @@ public final class DcTracker extends DcTrackerBase { apnContext.setState(DctConstants.State.IDLE); if (!apnContext.isReady()) { if (dcac != null) { if (DBG) { log("cleanUpConnection: teardown, disconnected, !ready apnContext=" + apnContext); } dcac.tearDown(apnContext, "", null); } apnContext.setDataConnectionAc(null); Loading @@ -992,7 +996,9 @@ public final class DcTracker extends DcTrackerBase { // CAF_MSIM is this below condition required. // if (PhoneConstants.APN_TYPE_DUN.equals(PhoneConstants.APN_TYPE_DEFAULT)) { if (teardownForDun()) { if (DBG) log("tearing down dedicated DUN connection"); if (DBG) { log("cleanUpConnection: disconnectAll DUN connection"); } // we need to tear it down - we brought it up just for dun and // other people are camped on it and now dun is done. We need // to stop using it and let the normal apn list get used to find Loading @@ -1001,7 +1007,8 @@ public final class DcTracker extends DcTrackerBase { } } if (DBG) { log("cleanUpConnection: tearing down" + (disconnectAll ? " all" :"")); log("cleanUpConnection: tearing down" + (disconnectAll ? " all" :"") + "apnContext=" + apnContext); } Message msg = obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, apnContext); if (disconnectAll) { Loading
src/java/com/android/internal/telephony/dataconnection/DcTrackerBase.java +3 −0 Original line number Diff line number Diff line Loading @@ -538,6 +538,9 @@ public abstract class DcTrackerBase extends Handler { } DcAsyncChannel dcac = apnContext.getDcAc(); if (dcac != null) { if (DBG) { log("onActionIntentReconnectAlarm: tearDown apnContext=" + apnContext); } dcac.tearDown(apnContext, "", null); } apnContext.setDataConnectionAc(null); Loading