添加 SMS指令开启fota升级及 结果反馈的Action
authorsnicker <snickersun@163.com>
Tue, 28 Apr 2020 19:35:06 +0000 (03:35 +0800)
committersnicker <snickersun@163.com>
Tue, 28 Apr 2020 19:35:06 +0000 (03:35 +0800)
com.ic.action.startfotaUpdate;
com.ic.action.fotaUpdateReply

app/src/main/java/com/enqualcomm/support/ICSmsManager.java

index 6a598d9..ed399e9 100644 (file)
@@ -41,6 +41,7 @@ import rx.functions.Action1;
 \r
 import static com.enqualcomm.support.Config.upload_logs_via_ftp;\r
 import static com.enqualcomm.support.Constants.DIALOG_ACTION;\r
+import static com.enqualcomm.support.Constants.contact;\r
 import static com.enqualcomm.support.utils.DeviceInfoUtil.getDeviceVersion;\r
 import static com.enqualcomm.support.utils.SimSignalUtil.send_at_cmd;\r
 import static com.enqualcomm.support.utils.SimSignalUtil.send_at_setImei0;\r
@@ -49,11 +50,16 @@ import static com.enqualcomm.support.utils.SimSignalUtil.send_at_setImei1;
 \r
 public class ICSmsManager {\r
     private static String ACTION_SMSCMD="com.enqualcomm.support.SMSCMD";\r
+    private static String ACTION_SMSCMD_Reply="com.ic.action.fotaUpdateReply";\r
+    private static String KeyReplyData="reply";\r
+    private static String cell_number_to_reply=""; //this number is use for ACTION_SMSCMD_Reply\r
+    private static String ACTION_START_FOTA_UPDATE="com.ic.action.startfotaUpdate";\r
     private static long preTimeMillis;\r
     private Context mContext = null;\r
     Runtime runtime;\r
     ICSmsManager.SmsReceiver smsReceiver;\r
 \r
+\r
     public ICSmsManager( Runtime _runtime) {\r
         this.runtime = _runtime;\r
         this.mContext = runtime.getContextProxy().context;\r
@@ -79,6 +85,14 @@ public class ICSmsManager {
 \r
         return true;\r
     }\r
+\r
+    private void broadCastStartFotaUpdate(Context context){\r
+\r
+        Intent intent = new Intent();\r
+        intent.setAction(ACTION_START_FOTA_UPDATE);\r
+        context.sendBroadcast(intent);\r
+\r
+    }\r
     public void registerBroadReceiver() {\r
 \r
         IntentFilter intentFilter = new IntentFilter();\r
@@ -88,6 +102,7 @@ public class ICSmsManager {
 \r
         intentFilter = new IntentFilter();\r
         intentFilter.addAction(ACTION_SMSCMD);\r
+        intentFilter.addAction(ACTION_SMSCMD_Reply);\r
         (this.runtime.getContextProxy()).context.registerReceiver(this.mSMSCMD_BroadcastReceiver, intentFilter);\r
     }\r
 \r
@@ -103,6 +118,9 @@ public class ICSmsManager {
             if (ACTION_SMSCMD.equals(action)) {\r
                 String cmd = intent.getStringExtra("smsCmd");\r
                 handleSMS_CMD("", cmd);\r
+            }else if (ACTION_SMSCMD_Reply.equals(action)){\r
+                String replydata=intent.getStringExtra(KeyReplyData);\r
+                sendSMS(cell_number_to_reply,replydata);\r
             }\r
         }\r
     };\r
@@ -703,6 +721,11 @@ public class ICSmsManager {
                 } else {\r
                     sendSMS(phonenumber, "set SMSCMD PWD format error!");\r
                 }\r
+            } else if (sms.equals(ENCRYPED_HEADER+"#updateViaFota#")) {\r
+\r
+                cell_number_to_reply=phonenumber;\r
+                broadCastStartFotaUpdate(mContext);\r
+                sendSMS(phonenumber, "start fota update !");\r
 \r
             }else {\r
                 return false;\r