Loading services/java/com/android/server/ConnectivityService.java +25 −11 Original line number Diff line number Diff line Loading @@ -1031,9 +1031,14 @@ private NetworkStateTracker makeWimaxStateTracker() { if ((ni.isConnectedOrConnecting() == true) && !network.isTeardownRequested()) { if (ni.isConnected() == true) { final long token = Binder.clearCallingIdentity(); try { // add the pid-specific dns handleDnsConfigurationChange(usedNetworkType); if (VDBG) log("special network already active"); } finally { Binder.restoreCallingIdentity(token); } return Phone.APN_ALREADY_ACTIVE; } if (VDBG) log("special network already connecting"); Loading Loading @@ -1221,6 +1226,7 @@ private NetworkStateTracker makeWimaxStateTracker() { } if (!ConnectivityManager.isNetworkTypeValid(networkType)) { if (DBG) log("requestRouteToHostAddress on invalid network: " + networkType); return false; } NetworkStateTracker tracker = mNetTrackers[networkType]; Loading @@ -1233,11 +1239,16 @@ private NetworkStateTracker makeWimaxStateTracker() { } return false; } final long token = Binder.clearCallingIdentity(); try { InetAddress addr = InetAddress.getByAddress(hostAddress); LinkProperties lp = tracker.getLinkProperties(); return addRouteToAddress(lp, addr); } catch (UnknownHostException e) {} } catch (UnknownHostException e) { if (DBG) log("requestRouteToHostAddress got " + e.toString()); } finally { Binder.restoreCallingIdentity(token); } return false; } Loading Loading @@ -1277,7 +1288,10 @@ private NetworkStateTracker makeWimaxStateTracker() { private boolean modifyRoute(String ifaceName, LinkProperties lp, RouteInfo r, int cycleCount, boolean doAdd, boolean toDefaultTable) { if ((ifaceName == null) || (lp == null) || (r == null)) return false; if ((ifaceName == null) || (lp == null) || (r == null)) { if (DBG) log("modifyRoute got unexpected null: " + ifaceName + ", " + lp + ", " + r); return false; } if (cycleCount > MAX_HOSTROUTE_CYCLE_COUNT) { loge("Error modifying route - too much recursion"); Loading Loading @@ -1309,7 +1323,7 @@ private NetworkStateTracker makeWimaxStateTracker() { } } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to add a route: " + e); if (DBG) loge("Exception trying to add a route: " + e); return false; } } else { Loading @@ -1323,7 +1337,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.removeRoute(ifaceName, r); } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to remove a route: " + e); if (DBG) loge("Exception trying to remove a route: " + e); return false; } } else { Loading @@ -1335,7 +1349,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.removeSecondaryRoute(ifaceName, r); } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to remove a route: " + e); if (DBG) loge("Exception trying to remove a route: " + e); return false; } } Loading Loading @@ -2004,7 +2018,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.removeRoute(ifaceName, r); } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to remove a route: " + e); if (DBG) loge("Exception trying to remove a route: " + e); } } } Loading Loading @@ -2218,7 +2232,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.setDnsServersForInterface(iface, NetworkUtils.makeStrings(dnses)); mNetd.setDefaultInterfaceForDns(iface); } catch (Exception e) { if (VDBG) loge("exception setting default dns interface: " + e); if (DBG) loge("exception setting default dns interface: " + e); } } if (!domains.equals(SystemProperties.get("net.dns.search"))) { Loading Loading @@ -2248,7 +2262,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.setDnsServersForInterface(p.getInterfaceName(), NetworkUtils.makeStrings(dnses)); } catch (Exception e) { if (VDBG) loge("exception setting dns servers: " + e); if (DBG) loge("exception setting dns servers: " + e); } // set per-pid dns for attached secondary nets List pids = mNetRequestersPids[netType]; Loading telephony/java/com/android/internal/telephony/DataConnection.java +63 −5 Original line number Diff line number Diff line Loading @@ -68,6 +68,8 @@ public abstract class DataConnection extends StateMachine { private List<ApnContext> mApnList = null; PendingIntent mReconnectIntent = null; private DataConnectionTracker mDataConnectionTracker = null; /** * Used internally for saving connecting parameters. */ Loading Loading @@ -202,6 +204,7 @@ public abstract class DataConnection extends StateMachine { protected static final int EVENT_DEACTIVATE_DONE = BASE + 3; protected static final int EVENT_DISCONNECT = BASE + 4; protected static final int EVENT_RIL_CONNECTED = BASE + 5; protected static final int EVENT_DISCONNECT_ALL = BASE + 6; //***** Tag IDs for EventLog protected static final int EVENT_LOG_BAD_DNS_ADDRESS = 50100; Loading Loading @@ -234,10 +237,12 @@ public abstract class DataConnection extends StateMachine { //***** Constructor protected DataConnection(PhoneBase phone, String name, int id, RetryManager rm) { protected DataConnection(PhoneBase phone, String name, int id, RetryManager rm, DataConnectionTracker dct) { super(name); if (DBG) log("DataConnection constructor E"); this.phone = phone; this.mDataConnectionTracker = dct; mId = id; mRetryMgr = rm; this.cid = -1; Loading Loading @@ -316,11 +321,16 @@ public abstract class DataConnection extends StateMachine { * * @param dp is the DisconnectParams. */ private void notifyDisconnectCompleted(DisconnectParams dp) { private void notifyDisconnectCompleted(DisconnectParams dp, boolean sendAll) { if (VDBG) log("NotifyDisconnectCompleted"); ApnContext alreadySent = null; String reason = null; if (dp.onCompletedMsg != null) { Message msg = dp.onCompletedMsg; alreadySent = (ApnContext)msg.obj; reason = dp.reason; if (VDBG) { log(String.format("msg=%s msg.obj=%s", msg.toString(), ((msg.obj instanceof String) ? (String) msg.obj : "<no-reason>"))); Loading @@ -328,6 +338,17 @@ public abstract class DataConnection extends StateMachine { AsyncResult.forMessage(msg); msg.sendToTarget(); } if (sendAll) { for (ApnContext a : mApnList) { if (a == alreadySent) continue; if (reason != null) a.setReason(reason); Message msg = mDataConnectionTracker.obtainMessage( DataConnectionTracker.EVENT_DISCONNECT_DONE, a); AsyncResult.forMessage(msg); msg.sendToTarget(); } } if (DBG) log("NotifyDisconnectCompleted DisconnectParams=" + dp); } Loading Loading @@ -706,6 +727,13 @@ public abstract class DataConnection extends StateMachine { deferMessage(msg); break; case EVENT_DISCONNECT_ALL: if (DBG) { log("DcDefaultState deferring msg.what=EVENT_DISCONNECT_ALL" + mRefCount); } deferMessage(msg); break; case EVENT_RIL_CONNECTED: ar = (AsyncResult)msg.obj; if (ar.exception == null) { Loading Loading @@ -771,7 +799,7 @@ public abstract class DataConnection extends StateMachine { } if (mDisconnectParams != null) { if (VDBG) log("DcInactiveState: enter notifyDisconnectCompleted"); notifyDisconnectCompleted(mDisconnectParams); notifyDisconnectCompleted(mDisconnectParams, true); } clearSettings(); } Loading Loading @@ -812,7 +840,13 @@ public abstract class DataConnection extends StateMachine { case EVENT_DISCONNECT: if (DBG) log("DcInactiveState: msg.what=EVENT_DISCONNECT"); notifyDisconnectCompleted((DisconnectParams)msg.obj); notifyDisconnectCompleted((DisconnectParams)msg.obj, false); retVal = HANDLED; break; case EVENT_DISCONNECT_ALL: if (DBG) log("DcInactiveState: msg.what=EVENT_DISCONNECT_ALL"); notifyDisconnectCompleted((DisconnectParams)msg.obj, false); retVal = HANDLED; break; Loading Loading @@ -989,9 +1023,21 @@ public abstract class DataConnection extends StateMachine { transitionTo(mDisconnectingState); } else { if (msg.obj != null) { notifyDisconnectCompleted((DisconnectParams) msg.obj); notifyDisconnectCompleted((DisconnectParams) msg.obj, false); } } retVal = HANDLED; break; case EVENT_DISCONNECT_ALL: if (DBG) { log("DcActiveState msg.what=EVENT_DISCONNECT_ALL RefCount=" + mRefCount); } mRefCount = 0; DisconnectParams dp = (DisconnectParams) msg.obj; dp.tag = mTag; tearDownData(dp); transitionTo(mDisconnectingState); retVal = HANDLED; break; Loading Loading @@ -1124,4 +1170,16 @@ public abstract class DataConnection extends StateMachine { public void tearDown(String reason, Message onCompletedMsg) { sendMessage(obtainMessage(EVENT_DISCONNECT, new DisconnectParams(reason, onCompletedMsg))); } /** * Tear down the connection through the apn on the network. Ignores refcount and * and always tears down. * * @param onCompletedMsg is sent with its msg.obj as an AsyncResult object. * With AsyncResult.userObj set to the original msg.obj. */ public void tearDownAll(String reason, Message onCompletedMsg) { sendMessage(obtainMessage(EVENT_DISCONNECT_ALL, new DisconnectParams(reason, onCompletedMsg))); } } telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java +7 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.os.Message; import android.util.Log; import com.android.internal.telephony.DataConnection; import com.android.internal.telephony.DataConnectionTracker; import com.android.internal.telephony.Phone; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; Loading @@ -32,8 +33,9 @@ public class CdmaDataConnection extends DataConnection { private static final String LOG_TAG = "CDMA"; // ***** Constructor private CdmaDataConnection(CDMAPhone phone, String name, int id, RetryManager rm) { super(phone, name, id, rm); private CdmaDataConnection(CDMAPhone phone, String name, int id, RetryManager rm, DataConnectionTracker dct) { super(phone, name, id, rm, dct); } /** Loading @@ -44,12 +46,13 @@ public class CdmaDataConnection extends DataConnection { * @param rm the RetryManager * @return CdmaDataConnection that was created. */ static CdmaDataConnection makeDataConnection(CDMAPhone phone, int id, RetryManager rm) { static CdmaDataConnection makeDataConnection(CDMAPhone phone, int id, RetryManager rm, DataConnectionTracker dct) { synchronized (mCountLock) { mCount += 1; } CdmaDataConnection cdmaDc = new CdmaDataConnection(phone, "CdmaDC-" + mCount, id, rm); id, rm, dct); cdmaDc.start(); if (DBG) cdmaDc.log("Made " + cdmaDc.getName()); return cdmaDc; Loading telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -794,7 +794,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } int id = mUniqueIdGenerator.getAndIncrement(); dataConn = CdmaDataConnection.makeDataConnection(mCdmaPhone, id, rm); dataConn = CdmaDataConnection.makeDataConnection(mCdmaPhone, id, rm, this); mDataConnections.put(id, dataConn); DataConnectionAc dcac = new DataConnectionAc(dataConn, LOG_TAG); int status = dcac.fullyConnectSync(mPhone.getContext(), this, dataConn.getHandler()); Loading telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java +7 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.util.Patterns; import android.text.TextUtils; import com.android.internal.telephony.DataConnection; import com.android.internal.telephony.DataConnectionTracker; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneBase; import com.android.internal.telephony.RILConstants; Loading @@ -37,8 +38,9 @@ public class GsmDataConnection extends DataConnection { //***** Instance Variables protected int mProfileId = RILConstants.DATA_PROFILE_DEFAULT; //***** Constructor private GsmDataConnection(PhoneBase phone, String name, int id, RetryManager rm) { super(phone, name, id, rm); private GsmDataConnection(PhoneBase phone, String name, int id, RetryManager rm, DataConnectionTracker dct) { super(phone, name, id, rm, dct); } /** Loading @@ -49,11 +51,12 @@ public class GsmDataConnection extends DataConnection { * @param rm the RetryManager * @return GsmDataConnection that was created. */ static GsmDataConnection makeDataConnection(PhoneBase phone, int id, RetryManager rm) { static GsmDataConnection makeDataConnection(PhoneBase phone, int id, RetryManager rm, DataConnectionTracker dct) { synchronized (mCountLock) { mCount += 1; } GsmDataConnection gsmDc = new GsmDataConnection(phone, "GsmDC-" + mCount, id, rm); GsmDataConnection gsmDc = new GsmDataConnection(phone, "GsmDC-" + mCount, id, rm, dct); gsmDc.start(); if (DBG) gsmDc.log("Made " + gsmDc.getName()); return gsmDc; Loading Loading
services/java/com/android/server/ConnectivityService.java +25 −11 Original line number Diff line number Diff line Loading @@ -1031,9 +1031,14 @@ private NetworkStateTracker makeWimaxStateTracker() { if ((ni.isConnectedOrConnecting() == true) && !network.isTeardownRequested()) { if (ni.isConnected() == true) { final long token = Binder.clearCallingIdentity(); try { // add the pid-specific dns handleDnsConfigurationChange(usedNetworkType); if (VDBG) log("special network already active"); } finally { Binder.restoreCallingIdentity(token); } return Phone.APN_ALREADY_ACTIVE; } if (VDBG) log("special network already connecting"); Loading Loading @@ -1221,6 +1226,7 @@ private NetworkStateTracker makeWimaxStateTracker() { } if (!ConnectivityManager.isNetworkTypeValid(networkType)) { if (DBG) log("requestRouteToHostAddress on invalid network: " + networkType); return false; } NetworkStateTracker tracker = mNetTrackers[networkType]; Loading @@ -1233,11 +1239,16 @@ private NetworkStateTracker makeWimaxStateTracker() { } return false; } final long token = Binder.clearCallingIdentity(); try { InetAddress addr = InetAddress.getByAddress(hostAddress); LinkProperties lp = tracker.getLinkProperties(); return addRouteToAddress(lp, addr); } catch (UnknownHostException e) {} } catch (UnknownHostException e) { if (DBG) log("requestRouteToHostAddress got " + e.toString()); } finally { Binder.restoreCallingIdentity(token); } return false; } Loading Loading @@ -1277,7 +1288,10 @@ private NetworkStateTracker makeWimaxStateTracker() { private boolean modifyRoute(String ifaceName, LinkProperties lp, RouteInfo r, int cycleCount, boolean doAdd, boolean toDefaultTable) { if ((ifaceName == null) || (lp == null) || (r == null)) return false; if ((ifaceName == null) || (lp == null) || (r == null)) { if (DBG) log("modifyRoute got unexpected null: " + ifaceName + ", " + lp + ", " + r); return false; } if (cycleCount > MAX_HOSTROUTE_CYCLE_COUNT) { loge("Error modifying route - too much recursion"); Loading Loading @@ -1309,7 +1323,7 @@ private NetworkStateTracker makeWimaxStateTracker() { } } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to add a route: " + e); if (DBG) loge("Exception trying to add a route: " + e); return false; } } else { Loading @@ -1323,7 +1337,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.removeRoute(ifaceName, r); } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to remove a route: " + e); if (DBG) loge("Exception trying to remove a route: " + e); return false; } } else { Loading @@ -1335,7 +1349,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.removeSecondaryRoute(ifaceName, r); } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to remove a route: " + e); if (DBG) loge("Exception trying to remove a route: " + e); return false; } } Loading Loading @@ -2004,7 +2018,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.removeRoute(ifaceName, r); } catch (Exception e) { // never crash - catch them all if (VDBG) loge("Exception trying to remove a route: " + e); if (DBG) loge("Exception trying to remove a route: " + e); } } } Loading Loading @@ -2218,7 +2232,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.setDnsServersForInterface(iface, NetworkUtils.makeStrings(dnses)); mNetd.setDefaultInterfaceForDns(iface); } catch (Exception e) { if (VDBG) loge("exception setting default dns interface: " + e); if (DBG) loge("exception setting default dns interface: " + e); } } if (!domains.equals(SystemProperties.get("net.dns.search"))) { Loading Loading @@ -2248,7 +2262,7 @@ private NetworkStateTracker makeWimaxStateTracker() { mNetd.setDnsServersForInterface(p.getInterfaceName(), NetworkUtils.makeStrings(dnses)); } catch (Exception e) { if (VDBG) loge("exception setting dns servers: " + e); if (DBG) loge("exception setting dns servers: " + e); } // set per-pid dns for attached secondary nets List pids = mNetRequestersPids[netType]; Loading
telephony/java/com/android/internal/telephony/DataConnection.java +63 −5 Original line number Diff line number Diff line Loading @@ -68,6 +68,8 @@ public abstract class DataConnection extends StateMachine { private List<ApnContext> mApnList = null; PendingIntent mReconnectIntent = null; private DataConnectionTracker mDataConnectionTracker = null; /** * Used internally for saving connecting parameters. */ Loading Loading @@ -202,6 +204,7 @@ public abstract class DataConnection extends StateMachine { protected static final int EVENT_DEACTIVATE_DONE = BASE + 3; protected static final int EVENT_DISCONNECT = BASE + 4; protected static final int EVENT_RIL_CONNECTED = BASE + 5; protected static final int EVENT_DISCONNECT_ALL = BASE + 6; //***** Tag IDs for EventLog protected static final int EVENT_LOG_BAD_DNS_ADDRESS = 50100; Loading Loading @@ -234,10 +237,12 @@ public abstract class DataConnection extends StateMachine { //***** Constructor protected DataConnection(PhoneBase phone, String name, int id, RetryManager rm) { protected DataConnection(PhoneBase phone, String name, int id, RetryManager rm, DataConnectionTracker dct) { super(name); if (DBG) log("DataConnection constructor E"); this.phone = phone; this.mDataConnectionTracker = dct; mId = id; mRetryMgr = rm; this.cid = -1; Loading Loading @@ -316,11 +321,16 @@ public abstract class DataConnection extends StateMachine { * * @param dp is the DisconnectParams. */ private void notifyDisconnectCompleted(DisconnectParams dp) { private void notifyDisconnectCompleted(DisconnectParams dp, boolean sendAll) { if (VDBG) log("NotifyDisconnectCompleted"); ApnContext alreadySent = null; String reason = null; if (dp.onCompletedMsg != null) { Message msg = dp.onCompletedMsg; alreadySent = (ApnContext)msg.obj; reason = dp.reason; if (VDBG) { log(String.format("msg=%s msg.obj=%s", msg.toString(), ((msg.obj instanceof String) ? (String) msg.obj : "<no-reason>"))); Loading @@ -328,6 +338,17 @@ public abstract class DataConnection extends StateMachine { AsyncResult.forMessage(msg); msg.sendToTarget(); } if (sendAll) { for (ApnContext a : mApnList) { if (a == alreadySent) continue; if (reason != null) a.setReason(reason); Message msg = mDataConnectionTracker.obtainMessage( DataConnectionTracker.EVENT_DISCONNECT_DONE, a); AsyncResult.forMessage(msg); msg.sendToTarget(); } } if (DBG) log("NotifyDisconnectCompleted DisconnectParams=" + dp); } Loading Loading @@ -706,6 +727,13 @@ public abstract class DataConnection extends StateMachine { deferMessage(msg); break; case EVENT_DISCONNECT_ALL: if (DBG) { log("DcDefaultState deferring msg.what=EVENT_DISCONNECT_ALL" + mRefCount); } deferMessage(msg); break; case EVENT_RIL_CONNECTED: ar = (AsyncResult)msg.obj; if (ar.exception == null) { Loading Loading @@ -771,7 +799,7 @@ public abstract class DataConnection extends StateMachine { } if (mDisconnectParams != null) { if (VDBG) log("DcInactiveState: enter notifyDisconnectCompleted"); notifyDisconnectCompleted(mDisconnectParams); notifyDisconnectCompleted(mDisconnectParams, true); } clearSettings(); } Loading Loading @@ -812,7 +840,13 @@ public abstract class DataConnection extends StateMachine { case EVENT_DISCONNECT: if (DBG) log("DcInactiveState: msg.what=EVENT_DISCONNECT"); notifyDisconnectCompleted((DisconnectParams)msg.obj); notifyDisconnectCompleted((DisconnectParams)msg.obj, false); retVal = HANDLED; break; case EVENT_DISCONNECT_ALL: if (DBG) log("DcInactiveState: msg.what=EVENT_DISCONNECT_ALL"); notifyDisconnectCompleted((DisconnectParams)msg.obj, false); retVal = HANDLED; break; Loading Loading @@ -989,9 +1023,21 @@ public abstract class DataConnection extends StateMachine { transitionTo(mDisconnectingState); } else { if (msg.obj != null) { notifyDisconnectCompleted((DisconnectParams) msg.obj); notifyDisconnectCompleted((DisconnectParams) msg.obj, false); } } retVal = HANDLED; break; case EVENT_DISCONNECT_ALL: if (DBG) { log("DcActiveState msg.what=EVENT_DISCONNECT_ALL RefCount=" + mRefCount); } mRefCount = 0; DisconnectParams dp = (DisconnectParams) msg.obj; dp.tag = mTag; tearDownData(dp); transitionTo(mDisconnectingState); retVal = HANDLED; break; Loading Loading @@ -1124,4 +1170,16 @@ public abstract class DataConnection extends StateMachine { public void tearDown(String reason, Message onCompletedMsg) { sendMessage(obtainMessage(EVENT_DISCONNECT, new DisconnectParams(reason, onCompletedMsg))); } /** * Tear down the connection through the apn on the network. Ignores refcount and * and always tears down. * * @param onCompletedMsg is sent with its msg.obj as an AsyncResult object. * With AsyncResult.userObj set to the original msg.obj. */ public void tearDownAll(String reason, Message onCompletedMsg) { sendMessage(obtainMessage(EVENT_DISCONNECT_ALL, new DisconnectParams(reason, onCompletedMsg))); } }
telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java +7 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.os.Message; import android.util.Log; import com.android.internal.telephony.DataConnection; import com.android.internal.telephony.DataConnectionTracker; import com.android.internal.telephony.Phone; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; Loading @@ -32,8 +33,9 @@ public class CdmaDataConnection extends DataConnection { private static final String LOG_TAG = "CDMA"; // ***** Constructor private CdmaDataConnection(CDMAPhone phone, String name, int id, RetryManager rm) { super(phone, name, id, rm); private CdmaDataConnection(CDMAPhone phone, String name, int id, RetryManager rm, DataConnectionTracker dct) { super(phone, name, id, rm, dct); } /** Loading @@ -44,12 +46,13 @@ public class CdmaDataConnection extends DataConnection { * @param rm the RetryManager * @return CdmaDataConnection that was created. */ static CdmaDataConnection makeDataConnection(CDMAPhone phone, int id, RetryManager rm) { static CdmaDataConnection makeDataConnection(CDMAPhone phone, int id, RetryManager rm, DataConnectionTracker dct) { synchronized (mCountLock) { mCount += 1; } CdmaDataConnection cdmaDc = new CdmaDataConnection(phone, "CdmaDC-" + mCount, id, rm); id, rm, dct); cdmaDc.start(); if (DBG) cdmaDc.log("Made " + cdmaDc.getName()); return cdmaDc; Loading
telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -794,7 +794,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { } int id = mUniqueIdGenerator.getAndIncrement(); dataConn = CdmaDataConnection.makeDataConnection(mCdmaPhone, id, rm); dataConn = CdmaDataConnection.makeDataConnection(mCdmaPhone, id, rm, this); mDataConnections.put(id, dataConn); DataConnectionAc dcac = new DataConnectionAc(dataConn, LOG_TAG); int status = dcac.fullyConnectSync(mPhone.getContext(), this, dataConn.getHandler()); Loading
telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java +7 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.util.Patterns; import android.text.TextUtils; import com.android.internal.telephony.DataConnection; import com.android.internal.telephony.DataConnectionTracker; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneBase; import com.android.internal.telephony.RILConstants; Loading @@ -37,8 +38,9 @@ public class GsmDataConnection extends DataConnection { //***** Instance Variables protected int mProfileId = RILConstants.DATA_PROFILE_DEFAULT; //***** Constructor private GsmDataConnection(PhoneBase phone, String name, int id, RetryManager rm) { super(phone, name, id, rm); private GsmDataConnection(PhoneBase phone, String name, int id, RetryManager rm, DataConnectionTracker dct) { super(phone, name, id, rm, dct); } /** Loading @@ -49,11 +51,12 @@ public class GsmDataConnection extends DataConnection { * @param rm the RetryManager * @return GsmDataConnection that was created. */ static GsmDataConnection makeDataConnection(PhoneBase phone, int id, RetryManager rm) { static GsmDataConnection makeDataConnection(PhoneBase phone, int id, RetryManager rm, DataConnectionTracker dct) { synchronized (mCountLock) { mCount += 1; } GsmDataConnection gsmDc = new GsmDataConnection(phone, "GsmDC-" + mCount, id, rm); GsmDataConnection gsmDc = new GsmDataConnection(phone, "GsmDC-" + mCount, id, rm, dct); gsmDc.start(); if (DBG) gsmDc.log("Made " + gsmDc.getName()); return gsmDc; Loading