记录历史最大充电电压并上报

nx2024TEMP
Matthew 9 months ago
parent 55e0698c4f
commit ab0d06fabd

@ -262,12 +262,16 @@ public class AppMaster {
// } // }
try { try {
String battery = getBatteryVoltage() + "V/" + getChargingBatteryVoltage() + "V"; String battery = mService.getBatteryVoltage() + "V/" + mService.getChargingBatteryVoltage() + "V";
postParams.add(new Pair<String, String>("battery", battery)); postParams.add(new Pair<String, String>("battery", battery));
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
if (mService.isSeparateNetwork()) {
postParams.add(new Pair<String, String>("maxBCV", mService.getAndResetMaxBCV()));
}
for (int idx = 0; idx < 3; idx++) { for (int idx = 0; idx < 3; idx++) {
try { try {
httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection = (HttpURLConnection) url.openConnection();
@ -441,29 +445,34 @@ public class AppMaster {
ex.printStackTrace(); ex.printStackTrace();
} }
} }
private String getBatteryVoltage() { private String getCrashTimes(final long startTimeMs, final long endTimeMs) {
int val = 0; String path = "/data/system/dropbox/";
for (int idx = 0; idx < 3; idx++) { final String prefixFileName = "data_app_crash@";
val = MpMasterService.getInt(115); final int[] cnts = new int[2];
if (val > 0) { cnts[0] = 0;
return Integer.toString(val / 1000) + "." + Integer.toString((val % 1000) / 100); cnts[1] = 0;
}
} long weekStartTime = startTimeMs - 86400000 * 7;
FileFilter fileFilter = new FileFilter() {
return ""; @Override
} public boolean accept(File pathname) {
if (pathname.isFile() && pathname.getName().startsWith(prefixFileName) && pathname.lastModified() <= endTimeMs) {
private String getChargingBatteryVoltage() { if (pathname.lastModified() >= startTimeMs) {
int val = 0; cnts[0]++;
for (int idx = 0; idx < 3; idx++) { }
val = MpMasterService.getInt(112); // if (pathname.lastModified() >= weekStartTime) {
if (val > 0) { cnts[1]++;
return Integer.toString(val / 1000) + "." + Integer.toString((val % 1000) / 100); // }
}
return false;
} }
} };
File file = new File(path);
String[] files = file.list();
File[] subFiles = file.listFiles(fileFilter);
return ""; return ((cnts[0] == 0) && (cnts[1] == 0)) ? null : Integer.toString(cnts[0]) + " " + Integer.toString(cnts[1]);
} }
private String getImei(int number) { private String getImei(int number) {

@ -127,6 +127,9 @@ public class MpMasterService extends Service {
private long mPreviousMpHbTime = 0; private long mPreviousMpHbTime = 0;
private int mMaxBCV = 0;
private long mMaxBCVTime = 0;
private String mIccid1 = null; private String mIccid1 = null;
private String mIccid2 = null; private String mIccid2 = null;
@ -198,6 +201,8 @@ public class MpMasterService extends Service {
mPreviousMpHbTime = System.currentTimeMillis(); mPreviousMpHbTime = System.currentTimeMillis();
buildChargingBatteryVoltage(System.currentTimeMillis());
logger.info("MpMaster started version=" + mMpMasterVersion); logger.info("MpMaster started version=" + mMpMasterVersion);
mHander = new Handler(); mHander = new Handler();
@ -530,6 +535,8 @@ public class MpMasterService extends Service {
mService.mPreviousHeartbeatTime = 0; mService.mPreviousHeartbeatTime = 0;
mService.registerHeartbeatTimer(); mService.registerHeartbeatTimer();
mService.buildChargingBatteryVoltage(System.currentTimeMillis());
if (!keepAlive) { if (!keepAlive) {
mService.startMaster(false); mService.startMaster(false);
} }
@ -546,6 +553,7 @@ public class MpMasterService extends Service {
mService.registerHeartbeatTimer(); mService.registerHeartbeatTimer();
mService.buildChargingBatteryVoltage(System.currentTimeMillis());
if (!mService.mSeparateNetwork && (!mService.mMntnMode)) { if (!mService.mSeparateNetwork && (!mService.mMntnMode)) {
mService.startMaster(true); mService.startMaster(true);
} }
@ -609,7 +617,6 @@ public class MpMasterService extends Service {
SysApi.installOTA(context, context.getPackageName(), path); SysApi.installOTA(context, context.getPackageName(), path);
} }
}); });
} }
private void registerHeartbeatTimer() { private void registerHeartbeatTimer() {
@ -919,6 +926,57 @@ public class MpMasterService extends Service {
return signalLevel; return signalLevel;
} }
public static String getBatteryVoltage() {
int val = 0;
for (int idx = 0; idx < 3; idx++) {
val = MpMasterService.getInt(115);
if (val > 0) {
return Integer.toString(val / 1000) + "." + Integer.toString((val % 1000) / 100);
}
}
return "";
}
private void buildChargingBatteryVoltage(long ts) {
int val = 0;
for (int idx = 0; idx < 3; idx++) {
val = MpMasterService.getInt(112);
if (val > 0) {
break;
}
}
if (val > 0) {
if (val > mMaxBCV) {
mMaxBCV = val;
mMaxBCVTime = ts;
}
}
}
public String getAndResetMaxBCV() {
String val = Integer.toString(mMaxBCV / 1000) + "." + Integer.toString((mMaxBCV % 1000) / 100)
+ "/" + Long.toString(mMaxBCVTime / 1000);
mMaxBCV = 0;
mMaxBCVTime = 0;
return val;
}
public static String getChargingBatteryVoltage() {
int val = 0;
for (int idx = 0; idx < 3; idx++) {
val = MpMasterService.getInt(112);
if (val > 0) {
return Integer.toString(val / 1000) + "." + Integer.toString((val % 1000) / 100);
}
}
return "";
}
public void downloadAndInstall(final String url) { public void downloadAndInstall(final String url) {
final Context context = getApplicationContext(); final Context context = getApplicationContext();

Loading…
Cancel
Save