Handle out-of-order request execution.
Robert Greenwalt [Fri, 24 Jul 2015 23:48:43 +0000 (16:48 -0700)]
Don't process executeRequest if the request has been released.
A more comprehensive fix.

bug:22632129
Change-Id: Iadc78af0310091b962c6e803526811a243938095

src/java/com/android/internal/telephony/dataconnection/DctController.java

index bb06da5..6ff68b1 100644 (file)
@@ -516,7 +516,7 @@ public class DctController extends Handler {
     }
 
     private void onExecuteRequest(RequestInfo requestInfo) {
-        if (!requestInfo.executed) {
+        if (!requestInfo.executed && mRequestInfos.containsKey(requestInfo.request.requestId)) {
             logd("onExecuteRequest request=" + requestInfo);
             requestInfo.log("DctController.onExecuteRequest - executed=" + requestInfo.executed);
             requestInfo.executed = true;