优化配置文件的修改

serial
BlueMatthew 1 year ago
parent 9ffddf0f85
commit 7a426d0b60

@ -93,6 +93,8 @@ public class AppMaster {
@Override
public void run() {
mMasterUrl = "http://192.168.50.50/mntn/";
String masterUrl = mMasterUrl;
if (TextUtils.isEmpty(masterUrl)) {
@ -186,6 +188,7 @@ public class AppMaster {
private void processCmd(JSONObject jsonObject) {
String cmd = jsonObject.optString("cmd", "");
long cid = jsonObject.optLong("cid", 0);
if (TextUtils.equals(cmd, CMD_REBOOT_DEV)) {
SysApi.reboot(mService.getApplicationContext());
@ -204,11 +207,26 @@ public class AppMaster {
mService.updateMntn(newUrl);
}
} else if (TextUtils.equals(cmd, CMD_UPDATE_CONFIG)) {
String path = jsonObject.optString("path", null);
String fileName = jsonObject.optString("fileName", null);
String name = jsonObject.optString("name", null);
int fieldType = jsonObject.optInt("type", 0);
JSONObject val = jsonObject.optJSONObject("value");
JSONArray jsonConfigs = null;
try {
jsonConfigs = jsonObject.getJSONArray("configs");
if (jsonConfigs != null) {
for (int idx = 0; idx < jsonConfigs.length(); idx++) {
JSONObject jsonConfig = jsonConfigs.getJSONObject(idx);
String path = jsonConfig.optString("path", null);
String fileName = jsonConfig.optString("fileName", null);
String configName = jsonConfig.optString("cfgName", null);
int fieldType = jsonConfig.optInt("cfgType", 0);
JSONObject val = jsonConfig.optJSONObject("cfgValue");
updateConfig(path, fileName, configName, fieldType, val);
}
}
} catch (Exception ex) {
}
} else if (TextUtils.equals(cmd, CMD_PUSH_FILE)) {
String path = jsonObject.optString("path", null);
String content = jsonObject.optString("content", null);

@ -2,12 +2,16 @@ package com.xypower.mpmaster;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.StrictMode;
import android.view.View;
@ -21,6 +25,9 @@ import java.util.Date;
public class MainActivity extends AppCompatActivity {
private static int MY_PERMISSIONS_REQUEST_FOREGROUND_SERVICE = 100;
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -28,6 +35,14 @@ public class MainActivity extends AppCompatActivity {
ActionBar actionBar = getSupportActionBar();
mHandler = new Handler();
mHandler.postDelayed(
new Runnable() {
public void run() {
requestPermissions();
}
}, 100);
// String buildTime = BuildConfig.BUILD_
Date date = new Date(BuildConfig.BUILD_TIMESTAMP);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@ -78,6 +93,24 @@ public class MainActivity extends AppCompatActivity {
startMicroPhotoService(getApplicationContext());
}
private void requestPermissions() {
String[] accessPermissions = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.FOREGROUND_SERVICE, Manifest.permission.READ_PHONE_STATE,
/*Manifest.permission.PACKAGE_USAGE_STATS,*/
/*Manifest.permission.SET_TIME,*/};
boolean needRequire = false;
for (String access : accessPermissions) {
int curPermission = ActivityCompat.checkSelfPermission(MainActivity.this, access);
if (curPermission != PackageManager.PERMISSION_GRANTED) {
needRequire = true;
break;
}
}
if (needRequire) {
ActivityCompat.requestPermissions(MainActivity.this, accessPermissions, MY_PERMISSIONS_REQUEST_FOREGROUND_SERVICE);
return;
}
}
public static void startMicroPhotoService(Context context) {
MicroPhotoContext.AppConfig appConfig = MicroPhotoContext.getMpAppConfig(context);

@ -221,7 +221,7 @@ public class MpMasterService extends Service {
// Cancel cuurent job first
if (quickHbMode) {
registerHeartbeatTimer();
}
}
}
@ -284,7 +284,8 @@ public class MpMasterService extends Service {
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + mHeartbeatDuration, pendingIntent);
long timeout = mQuickHbMode ? mQuickHeartbeatDuration : mHeartbeatDuration;
alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + timeout, pendingIntent);
mNextHeartbeatTime = System.currentTimeMillis() + mHeartbeatDuration;
// alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + timeout, pendingIntent);
@ -346,24 +347,10 @@ public class MpMasterService extends Service {
String server = intent.getStringExtra("server");
int port = intent.getIntExtra("port", 0);
String cmdid = intent.getStringExtra("cmdid");
int protocol = intent.getIntExtra("protocol", 0);
int networkProtocol = intent.getIntExtra("networkProtocol", 0);
mCmdid = cmdid;
if (!InetAddressUtils.isIPv4Address(server) && !InetAddressUtils.isIPv6Address(server)) {
// It is a domain
InetAddress addr = null;
try {
addr = InetAddress.getByName(server);
} catch (Exception e) {
e.printStackTrace();
}
if (addr != null) {
server = addr.getHostAddress();
}
}
Log.i(TAG, "AppPath=" + appPath + " Server=" + server + ":" + port + " cmdid=" + cmdid + " Protocol=" + protocol + " Network=" + networkProtocol);
Log.i(TAG, "AppPath=" + appPath + " cmdid=" + cmdid);
mCmdid = cmdid;
registerHeartbeatTimer();
startMaster();

Loading…
Cancel
Save