am 5779b57f: Merge "Send user confirmation instead of Terminal Response"

* commit '5779b57fe7530dfca8d814be0cbd13c7bad5d643':
  Send user confirmation instead of Terminal Response
diff --git a/src/java/com/android/internal/telephony/cat/CatService.java b/src/java/com/android/internal/telephony/cat/CatService.java
index 5814604..e027410 100644
--- a/src/java/com/android/internal/telephony/cat/CatService.java
+++ b/src/java/com/android/internal/telephony/cat/CatService.java
@@ -658,6 +658,7 @@
         ResponseData resp = null;
         boolean helpRequired = false;
         CommandDetails cmdDet = resMsg.getCmdDetails();
+        AppInterface.CommandType type = AppInterface.CommandType.fromInt(cmdDet.typeOfCommand);
 
         switch (resMsg.mResCode) {
         case HELP_INFO_REQUIRED:
@@ -674,7 +675,7 @@
         case PRFRMD_NAA_NOT_ACTIVE:
         case PRFRMD_TONE_NOT_PLAYED:
         case TERMINAL_CRNTLY_UNABLE_TO_PROCESS:
-            switch (AppInterface.CommandType.fromInt(cmdDet.typeOfCommand)) {
+            switch (type) {
             case SET_UP_MENU:
                 helpRequired = resMsg.mResCode == ResultCode.HELP_INFO_REQUIRED;
                 sendMenuSelection(resMsg.mUsersMenuSelection, helpRequired);
@@ -711,10 +712,22 @@
                 break;
             }
             break;
-        case NO_RESPONSE_FROM_USER:
-        case UICC_SESSION_TERM_BY_USER:
         case BACKWARD_MOVE_BY_USER:
         case USER_NOT_ACCEPT:
+            // if the user dismissed the alert dialog for a
+            // setup call/open channel, consider that as the user
+            // rejecting the call. Use dedicated API for this, rather than
+            // sending a terminal response.
+            if (type == CommandType.SET_UP_CALL || type == CommandType.OPEN_CHANNEL) {
+                mCmdIf.handleCallSetupRequestFromSim(false, null);
+                mCurrntCmd = null;
+                return;
+            } else {
+                resp = null;
+            }
+            break;
+        case NO_RESPONSE_FROM_USER:
+        case UICC_SESSION_TERM_BY_USER:
             resp = null;
             break;
         default: