DeactivateDataCall send response only if no error

RadioResponse sends the message if there is no error, and if there is an
error, RIL will send the message with an error. Prevent sending the
message twice.

Test: atest DataNetworkTest, DataNetworkControllerTest
Test: manually verify data still works
Bug: 224832687
Change-Id: I1e507cf6b2b08ae335a990382bacca42c2c11bc9
diff --git a/src/java/com/android/internal/telephony/DataResponse.java b/src/java/com/android/internal/telephony/DataResponse.java
index e657152..08170f6 100644
--- a/src/java/com/android/internal/telephony/DataResponse.java
+++ b/src/java/com/android/internal/telephony/DataResponse.java
@@ -75,7 +75,9 @@
 
         if (rr != null) {
             int response = responseInfo.error;
-            RadioResponse.sendMessageResponse(rr.mResult, response);
+            if (responseInfo.error == RadioError.NONE) {
+                RadioResponse.sendMessageResponse(rr.mResult, response);
+            }
             mRil.processResponseDone(rr, responseInfo, response);
         }
     }
diff --git a/src/java/com/android/internal/telephony/RadioResponse.java b/src/java/com/android/internal/telephony/RadioResponse.java
index d13f3ca..3484a23 100644
--- a/src/java/com/android/internal/telephony/RadioResponse.java
+++ b/src/java/com/android/internal/telephony/RadioResponse.java
@@ -744,7 +744,9 @@
 
         if (rr != null) {
             int response = responseInfo.error;
-            sendMessageResponse(rr.mResult, response);
+            if (responseInfo.error == RadioError.NONE) {
+                sendMessageResponse(rr.mResult, response);
+            }
             mRil.processResponseDone(rr, responseInfo, response);
         }
     }