修改SMS命令:
authorsnickersun <scy@incartech.cn>
Tue, 3 Mar 2020 10:42:08 +0000 (18:42 +0800)
committersnickersun <scy@incartech.cn>
Tue, 3 Mar 2020 10:42:08 +0000 (18:42 +0800)
1、TP升级添加版本判断,防止误升级及重复升级。
2、添加对SD卡中的目录或者文件的上传。方便获取其他应用的日志。
命令格式:#logctl#=upload,SDLog:[dirname|filename]

app/app.iml
app/src/main/java/com/enqualcomm/support/ICSmsManager.java
app/src/main/java/com/enqualcomm/support/utils/ICHttpUtil.java
dNSCache/dNSCache.iml

index 51cd3ff..438d013 100644 (file)
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:0.5@aar" level="project" />\r
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish:0.5@aar" level="project" />\r
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:2.2.2@aar" level="project" />\r
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\android-logging-log4j-1.0.3.jar:unspecified@jar" level="project" />\r
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\ftp4j-1.7.2.jar:unspecified@jar" level="project" />\r
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\LauncherCtrl.jar:unspecified@jar" level="project" />\r
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\log4j-1.2.17.jar:unspecified@jar" level="project" />\r
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\android-logging-log4j-1.0.3.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\ftp4j-1.7.2.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\LauncherCtrl.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\log4j-1.2.17.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar" level="project" />\r
     <orderEntry type="library" name="Gradle: com.android.support:support-annotations:25.1.0@jar" level="project" />\r
     <orderEntry type="library" name="Gradle: io.reactivex:rxjava:1.1.0@jar" level="project" />\r
     <orderEntry type="library" name="Gradle: com.github.ChestnutPlus:TestModules:v1.0.16@aar" level="project" />\r
     <orderEntry type="library" name="Gradle: com.kymjs.rxvolley:rxvolley:1.1.3@aar" level="project" />\r
     <orderEntry type="library" name="Gradle: io.reactivex:rxandroid:1.1.0@aar" level="project" />\r
     <orderEntry type="module" module-name="dNSCache" />\r
+    <orderEntry type="module" module-name="dNSCache" />\r
   </component>\r
 </module>
\ No newline at end of file
index 37b1579..4bf42a9 100644 (file)
@@ -9,6 +9,7 @@ import android.content.Intent;
 import android.content.IntentFilter;\r
 import android.database.Cursor;\r
 import android.net.Uri;\r
+import android.os.Environment;\r
 import android.os.SystemClock;\r
 import android.telephony.SmsManager;\r
 import android.telephony.SmsMessage;\r
@@ -364,15 +365,15 @@ public class ICSmsManager {
                         if (cmdl.length == 2) {\r
                             String logfile=cmdl[1];\r
 \r
-                            if (logfile.isEmpty()|| logfile.equals("all")){\r
-                                String filelist[]={"crashlog","APILog","GPS","LocationAlarm","Battery","log"};\r
+                            if (logfile.isEmpty()|| logfile.equals("all")) {\r
+                                String filelist[] = {"crashlog", "APILog", "GPS", "LocationAlarm", "Battery", "log"};\r
 //                                String filelist[]={"APILog","LocationAlarm","Battery"};\r
-                                String time=TimeUtil.getSystemTime3();\r
-                                StringBuilder sb=new StringBuilder();\r
+                                String time = TimeUtil.getSystemTime3();\r
+                                StringBuilder sb = new StringBuilder();\r
                                 Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
                                     public void call(Long param1Long) {\r
                                         sendSMS(phonenumber, "start Upload allLogfile [crashlog APILog log GPS LocationAlarm Battery] to " + Config.getFtpServer(mContext));\r
-                                        String logtime=TimeUtil.getSystemTime3();\r
+                                        String logtime = TimeUtil.getSystemTime3();\r
                                         for (String file : filelist) {\r
 \r
                                             if (Util.LogfileExist(runtime, file)) {\r
@@ -380,40 +381,78 @@ public class ICSmsManager {
                                                 String filepath = Util.getLogfilePath(runtime, file);\r
                                                 URL serverurl = null;\r
                                                 try {\r
-                                                    serverurl = new URL(Util.getServerLogfilePath(Config.getFtpServer(mContext), time, file,runtime));\r
+                                                    serverurl = new URL(Util.getServerLogfilePath(Config.getFtpServer(mContext), time, file, runtime));\r
                                                 } catch (MalformedURLException e) {\r
                                                     e.printStackTrace();\r
                                                 }\r
-                                                if (upload_logs_via_ftp){\r
+                                                if (upload_logs_via_ftp) {\r
                                                     if (ftpUtils.upload(serverurl, Config.getFtpUser(mContext), Config.getFtpPWD(mContext), new File(filepath))) {\r
                                                         sb.append(" ").append(file);\r
-                                                        ICLogger.i("Upload file "+file+" success! ");\r
-                                                    }else{\r
-                                                        ICLogger.i("Upload file "+file+" failed! ");\r
+                                                        ICLogger.i("Upload file " + file + " success! ");\r
+                                                    } else {\r
+                                                        ICLogger.i("Upload file " + file + " failed! ");\r
 \r
                                                     }\r
-                                                }else{\r
-                                                    if (ICHttpUtil.uploadFile(filepath,runtime,logtime)) {\r
+                                                } else {\r
+                                                    if (ICHttpUtil.uploadFile(filepath, runtime, logtime)) {\r
                                                         sb.append(" ").append(file);\r
-                                                        ICLogger.i("Upload file "+file+" success! ");\r
-                                                    }else{\r
-                                                        ICLogger.i("Upload file "+file+" failed! ");\r
+                                                        ICLogger.i("Upload file " + file + " success! ");\r
+                                                    } else {\r
+                                                        ICLogger.i("Upload file " + file + " failed! ");\r
 \r
                                                     }\r
                                                 }\r
 \r
 \r
-\r
                                             }\r
                                         }\r
-                                        if (sb.length()>0) {\r
+                                        if (sb.length() > 0) {\r
                                             sendSMS(phonenumber, "Upload [" + sb.toString() + "] success to " + Config.getFtpServer(mContext));\r
-                                        }else\r
-                                        {\r
+                                        } else {\r
                                             sendSMS(phonenumber, "Upload all files failed to " + Config.getFtpServer(mContext));\r
                                         }\r
                                     }\r
                                 });\r
+                            }else if (!logfile.isEmpty()&& logfile.startsWith("SDLog:")){\r
+\r
+                                String sdfilelist[] = logfile.split(":");\r
+                                if (sdfilelist.length==2) {\r
+                                    String fileOrDir=sdfilelist[1];\r
+                                    Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+                                        public void call(Long param1Long) {\r
+                                            String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + fileOrDir;\r
+                                            URL serverurl = null;\r
+                                            try {\r
+                                                serverurl = new URL(Util.getServerLogfilePath(Config.getFtpServer(mContext), TimeUtil.getSystemTime3(), logfile, runtime));\r
+                                            } catch (MalformedURLException e) {\r
+                                                e.printStackTrace();\r
+                                            }\r
+                                            if ( new File(filepath).exists()) {\r
+\r
+                                                sendSMS(phonenumber, "start Upload " + filepath + " to " + Config.getFtpServer(mContext) + " ...");\r
+                                                String logtime = TimeUtil.getSystemTime3();\r
+\r
+                                                if (upload_logs_via_ftp) {\r
+                                                    if (ftpUtils.upload(serverurl, Config.getFtpUser(mContext), Config.getFtpPWD(mContext), new File(filepath))) {\r
+                                                        sendSMS(phonenumber, "Upload " + filepath + " to " + Config.getFtpServer(mContext) + " success!");\r
+                                                    } else {\r
+                                                        sendSMS(phonenumber, "Upload " + filepath + " to " + Config.getFtpServer(mContext) + " failed!");\r
+                                                    }\r
+                                                } else {\r
+                                                    if (ICHttpUtil.uploadFile(filepath, runtime, logtime)) {\r
+                                                        sendSMS(phonenumber, "Upload " + filepath + " to " + Config.getFtpServer(mContext) + " success!");\r
+                                                    } else {\r
+                                                        sendSMS(phonenumber, "Upload " + filepath + " to " + Config.getFtpServer(mContext) + " failed!");\r
+                                                    }\r
+                                                }\r
+                                            } else {\r
+                                                sendSMS(phonenumber, filepath + " not exist !");\r
+                                            }\r
+                                        }\r
+                                    });\r
+                                }else{\r
+                                    sendSMS(phonenumber,  " SDLog format error !");\r
+                                }\r
                             }else{\r
                                 Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
                                     public void call(Long param1Long) {\r
@@ -484,13 +523,18 @@ public class ICSmsManager {
                         }\r
                     } else if (tmp[1].equals("upgrade")) {\r
                         if (Util.is_FT6236U_upgrade_firmware_support()){\r
-\r
-                            if (Util.FT6236U_upgrade_firmware()){\r
-                                Util.FT6236U_getVer();\r
-                                String ver=Util.FT6236U_getVer();\r
-                                sendSMS(phonenumber, " Current FT6236U Firmware Version is "+ver+"!");\r
+                            Util.FT6236U_getVer();\r
+                            String ver=Util.FT6236U_getVer();\r
+                            if (ver.startsWith("A1")) {\r
+                                if (Util.FT6236U_upgrade_firmware()) {\r
+                                    Util.FT6236U_getVer();\r
+                                    ver = Util.FT6236U_getVer();\r
+                                    sendSMS(phonenumber, " Current FT6236U Firmware Version is " + ver + "!");\r
+                                } else {\r
+                                    sendSMS(phonenumber, " FT6236U Firmware upgrade failed !");\r
+                                }\r
                             }else{\r
-                                sendSMS(phonenumber, " FT6236U Firmware upgrade failed !");\r
+                                sendSMS(phonenumber, " FT6236U current Firmware version is "+ver+"  , upgrade only support A1 to A3  !");\r
                             }\r
                         }else {\r
                             sendSMS(phonenumber, " system Not Support FT6236U upgrade Firmware!");\r
index 303d361..d7515b7 100644 (file)
@@ -1,6 +1,7 @@
 package com.enqualcomm.support.utils;\r
 \r
 import android.content.Context;\r
+import android.os.Environment;\r
 import android.util.Log;\r
 \r
 import com.enqualcomm.support.Config;\r
@@ -22,24 +23,32 @@ import java.util.zip.ZipOutputStream;
 import static android.content.ContentValues.TAG;\r
 \r
 public class ICHttpUtil {\r
-    public static boolean uploadFile(String filenames, Runtime runtime,String logtime)  {\r
 \r
+    public static boolean uploadFile(String filename, Runtime runtime,String logtime)  {\r
+\r
+        String zipfile=filename;\r
+        boolean compressSuccess=false;\r
         try {\r
-            if (Util.zipFile(new File(filenames), runtime.getCacheDir().getAbsolutePath(),\r
-                    new ZipOutputStream(new CheckedOutputStream(new FileOutputStream(filenames+".zip"),new CRC32()))\r
-            , filenames)) {\r
-                filenames += ".zip";\r
+            String sdcard= Environment.getExternalStorageDirectory().getAbsolutePath();\r
+            File srcfile=new File(filename);\r
+            zipfile=sdcard+File.separator+srcfile.getName()+".zip";\r
+            if (Util.zipFile(srcfile, "",\r
+                    new ZipOutputStream(new CheckedOutputStream(new FileOutputStream(zipfile),new CRC32()))\r
+            , filename)) {\r
+                compressSuccess=true;\r
             }\r
         }catch (Exception e){\r
             e.printStackTrace();\r
+            compressSuccess=false;\r
         }\r
+        if (compressSuccess==false) return false;\r
         String server= Config.getFotaServerIP(runtime.getContextProxy().context);\r
         int port= Config.getFotaServerPort(runtime.getContextProxy().context);\r
         String product=DeviceInfoUtil.getModule();\r
         String pkgver=DeviceInfoUtil.getSWVersionDisplayName();\r
         String imei=runtime.IMEI();\r
         String actionUrl = "http://"+server+":"+port + "/UploadFile.jsp?product=" + product + "&pkgver="+ pkgver + "&imei="+ imei+"&logtime="+logtime;\r
-        return upLoadFile(actionUrl, new File(filenames));\r
+        return upLoadFile(actionUrl, new File(zipfile));\r
 \r
     }\r
     public static boolean upLoadFile(String url, File file) {\r
index 9e1eb97..31c0c0c 100644 (file)
@@ -91,5 +91,6 @@
     <orderEntry type="jdk" jdkName="Android API 18 Platform" jdkType="Android SDK" />\r
     <orderEntry type="sourceFolder" forTests="false" />\r
     <orderEntry type="library" name="Gradle: com.android.support:support-v4:18.0.0@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: android-android-18" level="project" />\r
   </component>\r
 </module>
\ No newline at end of file