diff --git a/common/src/main/java/com/xypower/common/ZipUtils.java b/common/src/main/java/com/xypower/common/ZipUtils.java index 701ac236..acb78ab3 100644 --- a/common/src/main/java/com/xypower/common/ZipUtils.java +++ b/common/src/main/java/com/xypower/common/ZipUtils.java @@ -10,10 +10,13 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipUtils { - public static void ZipFolder(File srcFile, File zipFile) { + public static interface Filter { + boolean match(String file); + } + public static void ZipFolder(File srcFile, File zipFile, Filter filter) { try { ZipOutputStream outZip = new ZipOutputStream(new FileOutputStream(zipFile)); - ZipFiles(srcFile.getParent() + File.separator, srcFile.getName(), outZip); + ZipFiles(srcFile.getParent() + File.separator, srcFile.getName(), outZip, filter); outZip.finish(); outZip.close(); } catch (FileNotFoundException e) { @@ -25,7 +28,7 @@ public class ZipUtils { } } - private static void ZipFiles(String srcFileParentName, String srcFileName, ZipOutputStream zipOutputSteam) throws Exception { + private static void ZipFiles(String srcFileParentName, String srcFileName, ZipOutputStream zipOutputSteam, Filter filter) throws Exception { if (zipOutputSteam == null) return; File file = new File(srcFileParentName + srcFileName); @@ -51,10 +54,10 @@ public class ZipUtils { } // for (int i = 0; i < fileList.length; i++) { - if (fileList[i].startsWith("specdata") || fileList[i].endsWith(".lck")) { + if (filter != null && !filter.match(fileList[i])) { continue; } - ZipFiles(srcFileParentName + srcFileName + "/", fileList[i], zipOutputSteam); + ZipFiles(srcFileParentName + srcFileName + "/", fileList[i], zipOutputSteam, filter); } } } diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java index 75c12c38..f0008774 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java @@ -8,6 +8,7 @@ import android.net.NetworkInfo; import android.os.Environment; import android.os.PowerManager; import android.os.SystemClock; +import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; import android.util.Pair; @@ -111,6 +112,10 @@ public class AppMaster { return (System.currentTimeMillis() - SystemClock.elapsedRealtimeNanos() / 1000000) / 1000; } + private void selectSimCard(int number) { + TelephonyManager telephonyManager = (TelephonyManager)mService.getSystemService(Context.TELEPHONY_SERVICE); + } + public void start() { new Thread(new Runnable() { @@ -420,7 +425,8 @@ public class AppMaster { SysApi.reboot(mService.getApplicationContext()); } else if (TextUtils.equals(cmd, CMD_UPLOAD_LOGS)) { String url = jsonObject.optString("url", null); - uploadLogs(url); + int noSpecData = jsonObject.optInt("noSpecData", 0); + uploadLogs(url, noSpecData == 0); uploadMasterLogs(url); } else if (TextUtils.equals(cmd, CMD_SET_CMA)) { String ip = jsonObject.optString("value_str", null); @@ -725,7 +731,7 @@ public class AppMaster { } } - private void uploadLogs(String url) { + private void uploadLogs(String url, final boolean includingSpecData) { String appDir = mService.buildAppDir(); try { @@ -746,7 +752,19 @@ public class AppMaster { return; } - ZipUtils.ZipFolder(logDir, file); + ZipUtils.Filter filter = new ZipUtils.Filter() { + @Override + public boolean match(String fileName) { + if (!fileName.endsWith(".txt")) { + return false; + } + if (!includingSpecData && fileName.startsWith("specdata")) { + return false; + } + return true; + } + }; + ZipUtils.ZipFolder(logDir, file, filter); if (!file.exists()) { return; @@ -785,7 +803,13 @@ public class AppMaster { return; } - ZipUtils.ZipFolder(logDir, file); + ZipUtils.Filter filter = new ZipUtils.Filter() { + @Override + public boolean match(String fileName) { + return fileName.endsWith(".txt"); + } + }; + ZipUtils.ZipFolder(logDir, file, filter); if (!file.exists()) { return; @@ -817,7 +841,7 @@ public class AppMaster { return; } - ZipUtils.ZipFolder(pathFile, file); + ZipUtils.ZipFolder(pathFile, file, null); if (!file.exists()) { return;