From f95229b4217507de71dec2ff97e7b9a4b674176f Mon Sep 17 00:00:00 2001 From: wangsiyuan <2392948297@qq.com> Date: Sat, 9 Dec 2023 17:06:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20MainActivity.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nbee/echolink/MainActivity.java | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/nbee/echolink/MainActivity.java b/app/src/main/java/com/nbee/echolink/MainActivity.java index 192bfd2..5c057e1 100644 --- a/app/src/main/java/com/nbee/echolink/MainActivity.java +++ b/app/src/main/java/com/nbee/echolink/MainActivity.java @@ -1,22 +1,17 @@ package com.nbee.echolink; -import static java.lang.Thread.*; - import android.content.Context; import android.content.Intent; +import android.os.AsyncTask; import android.os.Bundle; import android.os.PowerManager; -import android.view.View; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; -import androidx.work.ExistingPeriodicWorkPolicy; -import androidx.work.PeriodicWorkRequest; -import androidx.work.WorkManager; +import com.nbee.echolink.async.BatteryOptimizationTask; import com.nbee.echolink.service.MonitorService; import com.nbee.echolink.utils.BatteryOptimizationUtil; -import com.nbee.echolink.utils.HeartbeatWorker; import com.nbee.echolink.utils.PermissionUtils; import com.nbee.echolink.utils.ShellUtils; @@ -24,7 +19,6 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; -import java.util.concurrent.TimeUnit; import timber.log.Timber; @@ -40,16 +34,13 @@ public class MainActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - isRoot = shellUtils.checkRootPermission(); - if (!isRoot){ - Timber.d("未获取root权限: "+ isRoot); - } logTextView = findViewById(R.id.logTextView); updateLog("初始化日志..."); - requestIgnoreBattery(); + requestIgnoreBatteryAsync(); permissionUtils = new PermissionUtils(this); permissionUtils.checkPermissions(); + // 启动MonitorService服务 Intent serviceIntent = new Intent(this, MonitorService.class); @@ -65,19 +56,26 @@ public class MainActivity extends AppCompatActivity { @Override protected void onResume() { super.onResume(); - String logContent = readLogFile(); - updateLog(logContent); + readLogFileAsync(); } - private void requestIgnoreBattery(){ - Context context = getApplicationContext(); - PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); - boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(context.getPackageName()); - if(!hasIgnored){ - BatteryOptimizationUtil.requestIgnoreBatteryOptimization(context); - Timber.d("不在在优化电池白名单内"); - } else { - return; - } + + + private void readLogFileAsync() { + new AsyncTask() { + @Override + protected String doInBackground(Void... voids) { + return readLogFile(); + } + + @Override + protected void onPostExecute(String logContent) { + updateLog(logContent); + } + }.execute(); + } + + private void requestIgnoreBatteryAsync() { + new BatteryOptimizationTask(this).execute(); } private void updateLog(String newLog) {