更新 MainActivity.java

dev
wangsiyuan 2023-12-09 17:06:19 +08:00
parent fef6a08ea6
commit f95229b421
1 changed files with 23 additions and 25 deletions

View File

@ -1,22 +1,17 @@
package com.nbee.echolink; package com.nbee.echolink;
import static java.lang.Thread.*;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.os.PowerManager; import android.os.PowerManager;
import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; 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.service.MonitorService;
import com.nbee.echolink.utils.BatteryOptimizationUtil; import com.nbee.echolink.utils.BatteryOptimizationUtil;
import com.nbee.echolink.utils.HeartbeatWorker;
import com.nbee.echolink.utils.PermissionUtils; import com.nbee.echolink.utils.PermissionUtils;
import com.nbee.echolink.utils.ShellUtils; import com.nbee.echolink.utils.ShellUtils;
@ -24,7 +19,6 @@ import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.TimeUnit;
import timber.log.Timber; import timber.log.Timber;
@ -40,16 +34,13 @@ public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
isRoot = shellUtils.checkRootPermission();
if (!isRoot){
Timber.d("未获取root权限: "+ isRoot);
}
logTextView = findViewById(R.id.logTextView); logTextView = findViewById(R.id.logTextView);
updateLog("初始化日志..."); updateLog("初始化日志...");
requestIgnoreBattery(); requestIgnoreBatteryAsync();
permissionUtils = new PermissionUtils(this); permissionUtils = new PermissionUtils(this);
permissionUtils.checkPermissions(); permissionUtils.checkPermissions();
// 启动MonitorService服务 // 启动MonitorService服务
Intent serviceIntent = new Intent(this, MonitorService.class); Intent serviceIntent = new Intent(this, MonitorService.class);
@ -65,19 +56,26 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
String logContent = readLogFile(); readLogFileAsync();
updateLog(logContent);
} }
private void requestIgnoreBattery(){
Context context = getApplicationContext();
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); private void readLogFileAsync() {
boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(context.getPackageName()); new AsyncTask<Void, Void, String>() {
if(!hasIgnored){ @Override
BatteryOptimizationUtil.requestIgnoreBatteryOptimization(context); protected String doInBackground(Void... voids) {
Timber.d("不在在优化电池白名单内"); return readLogFile();
} else { }
return;
} @Override
protected void onPostExecute(String logContent) {
updateLog(logContent);
}
}.execute();
}
private void requestIgnoreBatteryAsync() {
new BatteryOptimizationTask(this).execute();
} }
private void updateLog(String newLog) { private void updateLog(String newLog) {