[Feature][T8TSK-111][AT]AT+LCSUS can query current slot

Change-Id: Ib59afa3e3038c75859603188f59e6b6b1a1bd69b
diff --git a/src/lynq/framework/lynq-ril-service/src/lynq_commands.h b/src/lynq/framework/lynq-ril-service/src/lynq_commands.h
index d1dfd31..8537ae7 100755
--- a/src/lynq/framework/lynq-ril-service/src/lynq_commands.h
+++ b/src/lynq/framework/lynq-ril-service/src/lynq_commands.h
@@ -12,7 +12,7 @@
 {LYNQ_REQUEST_ELAPNACT,"RIL_REQUEST_SETUP_DATA_CALL","ELAPNACT",setupData_e,NULL},
 {LYNQ_USER_REQUEST_GNSS,NULL,"LYNQGNSS",NULL,lynqGnss},
 {LYNQ_USER_REQUEST_OTHRE,NULL,"LYNQOTHER",NULL,lynqOther},
-{LYNQ_REQUEST_SWITCH_SIM,"SET_DEFAULT_SIM_ALL","LCSUS",switchSim,NULL},
+{LYNQ_REQUEST_SWITCH_SIM,"SET_DEFAULT_SIM_ALL","LCSUS",lynq_dsds_support,NULL},
 /*lei modify :Low power consumption for factory test only*/
 {LYNQ_REQUEST_SCREEN_STATE,"RIL_REQUEST_RADIO_POWER","SCREEN",lynq_screen,NULL},
 /*lei modify :Low power consumption for factory test only*/
diff --git a/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp b/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp
index bd14e4f..191b725 100755
--- a/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp
@@ -665,21 +665,56 @@
     return 0;
 }
 
-int switchSim(int argc,char*argv[],char *rilReq, int uToken)
+static void lynq_get_current_card(void)
+{
+    int id = get_default_sim_all();
+    lynq_output_info("+LCSUS: %d\n", id);
+    lynq_output_info("OK\n");
+    return;
+}
+
+static void lynq_switch_card(char*argv[], char *rilReq, int uToken)
 {
     int slot = 0;
     int ret = -1;
     char *new_argv[10] = {};
+    slot = atoi(argv[3]);
+    new_argv[0] = (char *)rilReq;
+    new_argv[1] = argv[3];
+    android::lynqSendToRil(2,new_argv,uToken);
+    return;
+}
+
+static void lynq_display_dsds_mode(void)
+{
+    lynq_output_info("+LCSUS: (0-1)\n");
+    lynq_output_info("OK\n");
+    return;
+}
+
+int lynq_dsds_support(int argc,char*argv[],char *rilReq, int uToken)
+{
     if(argc < 4)
     {
         RLOGD("parameter error!!!");
         return 1;
     }
-    slot = atoi(argv[3]);
-    new_argv[0] = (char *)rilReq;
-    new_argv[1] = argv[3];
-    android::lynqSendToRil(2,new_argv,uToken);
-    syncRespToUsb(0);
+    int type = atoi(argv[2]);
+    if(type == 2)//get mode
+    {
+        RLOGD("lynq_dsds_support get mode\n");
+        lynq_get_current_card();
+    }
+    else if(type == 0)//set mode
+    {
+        RLOGD("lynq_dsds_support set mode\n");
+        lynq_switch_card(argv, rilReq, uToken);
+    }
+    else if(type == 1)//get list mode
+    {
+        RLOGD("lynq_dsds_support get list mode\n");
+        lynq_display_dsds_mode();
+    }
     return 0;
 }
 
diff --git a/src/lynq/framework/lynq-ril-service/src/lynq_common.h b/src/lynq/framework/lynq-ril-service/src/lynq_common.h
index 7b2daae..9fe53e2 100755
--- a/src/lynq/framework/lynq-ril-service/src/lynq_common.h
+++ b/src/lynq/framework/lynq-ril-service/src/lynq_common.h
@@ -108,7 +108,7 @@
 int dialACall(int argc,char*argv[],char *rilReq, int uToken);
 int setupData(int argc,char*argv[],char *rilReq, int uToken);
 int setupData_e(int argc,char*argv[],char *rilReq, int uToken);
-int switchSim(int argc,char*argv[],char *rilReq, int uToken);
+int lynq_dsds_support(int argc,char*argv[],char *rilReq, int uToken);
 int lynq_screen(int argc,char*argv[],char *rilReq, int uToken);
 void* getMDstate(int argc,char*argv[],int uToken);
 void* lynq_get_inside_version(int argc,char*argv[],int uToken);