Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +28 −10 Original line number Original line Diff line number Diff line Loading @@ -1770,8 +1770,17 @@ public final class DataConnection extends StateMachine { log("DcActiveState: connected after retrying call notifyAllOfConnected"); log("DcActiveState: connected after retrying call notifyAllOfConnected"); mRetryManager.setRetryCount(0); mRetryManager.setRetryCount(0); } } boolean createNetworkAgent = true; // If a disconnect is already pending, avoid notifying all of connected if (DataConnection.this.getHandler().hasMessages(EVENT_DISCONNECT) || DataConnection.this.getHandler().hasMessages(EVENT_DISCONNECT_ALL)) { log("DcActiveState: skipping notifyAllOfConnected()"); createNetworkAgent = false; } else { // If we were retrying there maybe more than one, otherwise they'll only be one. // If we were retrying there maybe more than one, otherwise they'll only be one. notifyAllOfConnected(Phone.REASON_CONNECTED); notifyAllOfConnected(Phone.REASON_CONNECTED); } mPhone.getCallTracker().registerForVoiceCallStarted(getHandler(), mPhone.getCallTracker().registerForVoiceCallStarted(getHandler(), DataConnection.EVENT_DATA_CONNECTION_VOICE_CALL_STARTED, null); DataConnection.EVENT_DATA_CONNECTION_VOICE_CALL_STARTED, null); Loading @@ -1790,10 +1799,13 @@ public final class DataConnection extends StateMachine { final NetworkMisc misc = new NetworkMisc(); final NetworkMisc misc = new NetworkMisc(); misc.subscriberId = mPhone.getSubscriberId(); misc.subscriberId = mPhone.getSubscriberId(); if (createNetworkAgent) { mNetworkAgent = new DcNetworkAgent(getHandler().getLooper(), mPhone.getContext(), mNetworkAgent = new DcNetworkAgent(getHandler().getLooper(), mPhone.getContext(), "DcNetworkAgent", mNetworkInfo, makeNetworkCapabilities(), mLinkProperties, "DcNetworkAgent", mNetworkInfo, makeNetworkCapabilities(), mLinkProperties, 50, misc); 50, misc); } } } @Override @Override public void exit() { public void exit() { Loading @@ -1811,9 +1823,11 @@ public final class DataConnection extends StateMachine { mNetworkInfo.setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, mNetworkInfo.setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, reason, mNetworkInfo.getExtraInfo()); reason, mNetworkInfo.getExtraInfo()); if (mNetworkAgent != null) { mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent = null; mNetworkAgent = null; } } } @Override @Override public boolean processMessage(Message msg) { public boolean processMessage(Message msg) { Loading Loading @@ -1906,13 +1920,17 @@ public final class DataConnection extends StateMachine { } } case EVENT_DATA_CONNECTION_ROAM_ON: { case EVENT_DATA_CONNECTION_ROAM_ON: { mNetworkInfo.setRoaming(true); mNetworkInfo.setRoaming(true); if (mNetworkAgent != null) { mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); } retVal = HANDLED; retVal = HANDLED; break; break; } } case EVENT_DATA_CONNECTION_ROAM_OFF: { case EVENT_DATA_CONNECTION_ROAM_OFF: { mNetworkInfo.setRoaming(false); mNetworkInfo.setRoaming(false); if (mNetworkAgent != null) { mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); } retVal = HANDLED; retVal = HANDLED; break; break; } } Loading @@ -1936,7 +1954,7 @@ public final class DataConnection extends StateMachine { } } case EVENT_DATA_CONNECTION_VOICE_CALL_STARTED: case EVENT_DATA_CONNECTION_VOICE_CALL_STARTED: case EVENT_DATA_CONNECTION_VOICE_CALL_ENDED: { case EVENT_DATA_CONNECTION_VOICE_CALL_ENDED: { if (updateNetworkInfoSuspendState()) { if (updateNetworkInfoSuspendState() && mNetworkAgent != null) { // state changed // state changed mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); } } Loading Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +28 −10 Original line number Original line Diff line number Diff line Loading @@ -1770,8 +1770,17 @@ public final class DataConnection extends StateMachine { log("DcActiveState: connected after retrying call notifyAllOfConnected"); log("DcActiveState: connected after retrying call notifyAllOfConnected"); mRetryManager.setRetryCount(0); mRetryManager.setRetryCount(0); } } boolean createNetworkAgent = true; // If a disconnect is already pending, avoid notifying all of connected if (DataConnection.this.getHandler().hasMessages(EVENT_DISCONNECT) || DataConnection.this.getHandler().hasMessages(EVENT_DISCONNECT_ALL)) { log("DcActiveState: skipping notifyAllOfConnected()"); createNetworkAgent = false; } else { // If we were retrying there maybe more than one, otherwise they'll only be one. // If we were retrying there maybe more than one, otherwise they'll only be one. notifyAllOfConnected(Phone.REASON_CONNECTED); notifyAllOfConnected(Phone.REASON_CONNECTED); } mPhone.getCallTracker().registerForVoiceCallStarted(getHandler(), mPhone.getCallTracker().registerForVoiceCallStarted(getHandler(), DataConnection.EVENT_DATA_CONNECTION_VOICE_CALL_STARTED, null); DataConnection.EVENT_DATA_CONNECTION_VOICE_CALL_STARTED, null); Loading @@ -1790,10 +1799,13 @@ public final class DataConnection extends StateMachine { final NetworkMisc misc = new NetworkMisc(); final NetworkMisc misc = new NetworkMisc(); misc.subscriberId = mPhone.getSubscriberId(); misc.subscriberId = mPhone.getSubscriberId(); if (createNetworkAgent) { mNetworkAgent = new DcNetworkAgent(getHandler().getLooper(), mPhone.getContext(), mNetworkAgent = new DcNetworkAgent(getHandler().getLooper(), mPhone.getContext(), "DcNetworkAgent", mNetworkInfo, makeNetworkCapabilities(), mLinkProperties, "DcNetworkAgent", mNetworkInfo, makeNetworkCapabilities(), mLinkProperties, 50, misc); 50, misc); } } } @Override @Override public void exit() { public void exit() { Loading @@ -1811,9 +1823,11 @@ public final class DataConnection extends StateMachine { mNetworkInfo.setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, mNetworkInfo.setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, reason, mNetworkInfo.getExtraInfo()); reason, mNetworkInfo.getExtraInfo()); if (mNetworkAgent != null) { mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent = null; mNetworkAgent = null; } } } @Override @Override public boolean processMessage(Message msg) { public boolean processMessage(Message msg) { Loading Loading @@ -1906,13 +1920,17 @@ public final class DataConnection extends StateMachine { } } case EVENT_DATA_CONNECTION_ROAM_ON: { case EVENT_DATA_CONNECTION_ROAM_ON: { mNetworkInfo.setRoaming(true); mNetworkInfo.setRoaming(true); if (mNetworkAgent != null) { mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); } retVal = HANDLED; retVal = HANDLED; break; break; } } case EVENT_DATA_CONNECTION_ROAM_OFF: { case EVENT_DATA_CONNECTION_ROAM_OFF: { mNetworkInfo.setRoaming(false); mNetworkInfo.setRoaming(false); if (mNetworkAgent != null) { mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); } retVal = HANDLED; retVal = HANDLED; break; break; } } Loading @@ -1936,7 +1954,7 @@ public final class DataConnection extends StateMachine { } } case EVENT_DATA_CONNECTION_VOICE_CALL_STARTED: case EVENT_DATA_CONNECTION_VOICE_CALL_STARTED: case EVENT_DATA_CONNECTION_VOICE_CALL_ENDED: { case EVENT_DATA_CONNECTION_VOICE_CALL_ENDED: { if (updateNetworkInfoSuspendState()) { if (updateNetworkInfoSuspendState() && mNetworkAgent != null) { // state changed // state changed mNetworkAgent.sendNetworkInfo(mNetworkInfo); mNetworkAgent.sendNetworkInfo(mNetworkInfo); } } Loading