Fix other Disconnect msg senders
We changed the params on these messages from an ApnContext to a
Pair<ApnContext, Integer>. There were some call sites using the old
style and leading to errors.
bug:24115252
Change-Id: Ice3f075b3b93b9e76c0f0be7923f5ae2041f7ab1
diff --git a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
index 3700020..1094fdd 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
@@ -2096,9 +2096,12 @@
}
// this can only happen if our exit has been called - we're already disconnected
if (mApnContexts == null) return;
- for (ApnContext apnContext : mApnContexts.keySet()) {
+ for (ConnectionParams cp : mApnContexts.values()) {
+ final ApnContext apnContext = cp.mApnContext;
+ final Pair<ApnContext, Integer> pair =
+ new Pair<ApnContext, Integer>(apnContext, cp.mConnectionGeneration);
log("DcNetworkAgent: [unwanted]: disconnect apnContext=" + apnContext);
- Message msg = mDct.obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, apnContext);
+ Message msg = mDct.obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, pair);
DisconnectParams dp = new DisconnectParams(apnContext, apnContext.getReason(), msg);
DataConnection.this.sendMessage(DataConnection.this.
obtainMessage(EVENT_DISCONNECT, dp));
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
index cf82db3..bdb41ab 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
@@ -1047,7 +1047,10 @@
str = "cleanUpConnection: tearing down" + (disconnectAll ? " all" : "");
if (DBG) log(str + "apnContext=" + apnContext);
apnContext.requestLog(str);
- Message msg = obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, apnContext);
+ Pair<ApnContext, Integer> pair =
+ new Pair<ApnContext, Integer>(apnContext,
+ apnContext.getConnectionGeneration());
+ Message msg = obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, pair);
if (disconnectAll) {
apnContext.getDcAc().tearDownAll(apnContext.getReason(), msg);
} else {
@@ -1314,7 +1317,7 @@
Message msg = obtainMessage();
msg.what = DctConstants.EVENT_DATA_SETUP_COMPLETE;
- msg.obj = apnContext;
+ msg.obj = new Pair<ApnContext, Integer>(apnContext, connectionGeneration);
dcac.bringUp(apnContext, getInitialMaxRetry(), profileId, radioTech,
mAutoAttachOnCreation.get(), msg, connectionGeneration);