Pārlūkot izejas kodu

1.修复日志被错误删除的BUG

JaycePC 3 mēneši atpakaļ
vecāks
revīzija
90cff82580

+ 1 - 1
app/build.gradle

@@ -13,7 +13,7 @@ android {
         //noinspection ExpiredTargetSdkVersion
         targetSdk 28
         versionCode 1
-        versionName "1.5"
+        versionName "1.6"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }

+ 2 - 2
app/src/main/java/xn/update/http/bean/AllLogInterceptor.java

@@ -25,8 +25,8 @@ public class AllLogInterceptor implements Interceptor {
     @NonNull
     @Override
     public Response intercept(@NonNull Chain chain) throws IOException {
+        Request request = chain.request();
         try {
-            Request request = chain.request();
             Request.Builder newRequestBuilder = request.newBuilder();
             String terminalAuth = SPUtils.getInstance().getString("TerminalAuth", "");
             if (null != terminalAuth && !TextUtils.isEmpty(terminalAuth)) {
@@ -73,7 +73,7 @@ public class AllLogInterceptor implements Interceptor {
             LogUtils.d(responseLog);
             return response;
         } catch (Exception e) {
-            LogUtils.e(Log.getStackTraceString(e));
+            LogUtils.e(request.url().toString(), Log.getStackTraceString(e));
         }
         return chain.proceed(chain.request());
     }

+ 3 - 3
app/src/main/java/xn/update/receiver/TimeTickReceiver.java

@@ -58,8 +58,6 @@ public class TimeTickReceiver extends BroadcastReceiver {
         long runTime = (System.currentTimeMillis() - lastRunTime);
         if (lastRunTime > 0 && runTime > 1000 * 60 * 3) {
             isRunning = false;
-        } else {
-            LogUtils.d("下载安装app中,已耗时" + runTime);
         }
         // 空闲中
         if (!isRunning && SPUtils.getInstance().getBoolean(AppConstant.AUTO_UPDATE, true)) {
@@ -84,7 +82,6 @@ public class TimeTickReceiver extends BroadcastReceiver {
                                 if (task.getStartLaunchPackage().equals(AppUtils.getAppPackageName())) {
                                     AsyncTask.execute(() -> {
                                         try {
-                                            HttpTool.INSTANCE.updateCallBack(task.getTaskId(), task.getDeviceCode(), true, true);
                                             if (AppUtils.getAppPackageName().equals(task.getAppPackageName())) {
                                                 Tool.INSTANCE.cmd("pm install -d -g " + apkPath + apkName);
                                                 Tool.INSTANCE.openApp(task.getStartLaunchPackage());
@@ -98,6 +95,7 @@ public class TimeTickReceiver extends BroadcastReceiver {
                                                     }
                                                 });
                                             }
+                                            HttpTool.INSTANCE.updateCallBack(task.getTaskId(), task.getDeviceCode(), true, true);
                                         } catch (IOException | JSONException e) {
                                             LogUtils.e(Log.getStackTraceString(e));
                                         }
@@ -109,6 +107,7 @@ public class TimeTickReceiver extends BroadcastReceiver {
                                         AsyncTask.execute(() -> {
                                             try {
                                                 HttpTool.INSTANCE.updateCallBack(task.getTaskId(), task.getDeviceCode(), true, true);
+                                                Tool.INSTANCE.startTaskService();
                                             } catch (IOException | JSONException e) {
                                                 LogUtils.e(Log.getStackTraceString(e));
                                             }
@@ -119,6 +118,7 @@ public class TimeTickReceiver extends BroadcastReceiver {
                                     }
                                 }
                             }
+                            isRunning = false;
                         }
                     }
                 };

+ 8 - 8
app/src/main/java/xn/update/service/TaskService.java

@@ -41,11 +41,15 @@ import org.greenrobot.eventbus.EventBus;
 import org.json.JSONObject;
 
 import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.attribute.BasicFileAttributes;
 import java.text.SimpleDateFormat;
 import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import okhttp3.Response;
 import xn.update.R;
@@ -111,10 +115,10 @@ public class TaskService extends Service {
                     Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.WRITE_EXTERNAL_STORAGE");
                     Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.NOTIFICATION_SERVICE");
                     permissionCdt.start();
-                }else {
+                } else {
                     requestPermission();
                     permissionCdt.cancel();
-                    permissionCdt=null;
+                    permissionCdt = null;
                 }
 
             }
@@ -269,13 +273,9 @@ public class TaskService extends Service {
                 List<File> fileList = FileUtils.listFilesInDir("/sdcard/logs/");
                 for (int i = 0; i < fileList.size(); i++) {
                     File file = fileList.get(i);
-                    String fileName = file.getName();
-                    fileName = fileName.replace(AppUtils.getAppName() + "_", "");
-                    fileName = fileName.replace("_" + AppUtils.getAppPackageName(), "");
-                    fileName = fileName.replace(".txt", "");
-                    long fileTime = TimeUtils.string2Millis(fileName, new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()));
                     long oneMonth = 30 * 86400 * 1000L;
-                    if ((System.currentTimeMillis() - fileTime) > oneMonth) {
+                    if ((System.currentTimeMillis() - file.lastModified()) > oneMonth) {
+                        LogUtils.d("删除日志文件", file);
                         FileUtils.delete(file);
                     }
                 }