部分上报数据做一些数量的控制

TempBranch
Matthew 9 months ago
parent be1834e132
commit 6ceeba91cf

@ -13,6 +13,8 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
<uses-permission <uses-permission
android:name="android.permission.FORCE_STOP_PACKAGES" android:name="android.permission.FORCE_STOP_PACKAGES"
tools:ignore="ProtectedPermissions" /> tools:ignore="ProtectedPermissions" />

@ -120,7 +120,7 @@ public class AppMaster {
return (System.currentTimeMillis() - SystemClock.elapsedRealtimeNanos() / 1000000) / 1000; return (System.currentTimeMillis() - SystemClock.elapsedRealtimeNanos() / 1000000) / 1000;
} }
public void start() { public void start(final boolean isCriticalTime) {
new Thread(new Runnable() { new Thread(new Runnable() {
@ -160,7 +160,7 @@ public class AppMaster {
} }
try { try {
runImpl(); runImpl(isCriticalTime);
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
@ -177,7 +177,7 @@ public class AppMaster {
} }
} else { } else {
try { try {
runImpl(); runImpl(isCriticalTime);
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
@ -186,7 +186,7 @@ public class AppMaster {
}).start(); }).start();
} }
private boolean runImpl() { private boolean runImpl(final boolean isCriticalTime) {
String masterUrl = mMasterUrl; String masterUrl = mMasterUrl;
if (TextUtils.isEmpty(masterUrl)) { if (TextUtils.isEmpty(masterUrl)) {
@ -201,8 +201,10 @@ public class AppMaster {
now.setMinutes(0); now.setMinutes(0);
now.setSeconds(0); now.setSeconds(0);
long startTime = now.getTime() / 1000; final long startTimeMs = now.getTime();
long endTime = startTime + 86400 - 1; final long startTime = startTimeMs / 1000;
final long endTimeMs = startTimeMs + 86400000 - 1;
final long endTime = startTime + 86400 - 1;
String startTimeStr = Integer.toString(now.getYear()) + (now.getMonth() < 10 ? "0" : "") + Integer.toString(now.getMonth()) + (now.getDate() < 10 ? "0" : "") + Integer.toString(now.getDate()); String startTimeStr = Integer.toString(now.getYear()) + (now.getMonth() < 10 ? "0" : "") + Integer.toString(now.getMonth()) + (now.getDate() < 10 ? "0" : "") + Integer.toString(now.getDate());
@ -231,14 +233,22 @@ public class AppMaster {
postParams.add(new Pair<String, String>("signalLevel1", Integer.toString(MpMasterService.getSignalLevel(1)))); postParams.add(new Pair<String, String>("signalLevel1", Integer.toString(MpMasterService.getSignalLevel(1))));
postParams.add(new Pair<String, String>("signalLevel2", Integer.toString(MpMasterService.getSignalLevel(2)))); postParams.add(new Pair<String, String>("signalLevel2", Integer.toString(MpMasterService.getSignalLevel(2))));
if (isCriticalTime) {
// SysApi. // SysApi.
postParams.add(new Pair<String, String>("simcard1", mService.getIccid(1))); postParams.add(new Pair<String, String>("simcard1", mService.getIccid(1)));
// if (mService.isSeparateNetwork()) { // if (mService.isSeparateNetwork()) {
postParams.add(new Pair<String, String>("simcard2", mService.getIccid(2))); postParams.add(new Pair<String, String>("simcard2", mService.getIccid(2)));
// }
postParams.add(new Pair<String, String>("freeROM", getFreeROM())); postParams.add(new Pair<String, String>("freeROM", getFreeROM()));
/*
String crashTimes = getCrashTimes(startTimeMs, endTimeMs);
if (!TextUtils.isEmpty(crashTimes)) {
postParams.add(new Pair<String, String>("crashes", crashTimes));
}
*/
}
buildStats(startTime, postParams); buildStats(startTime, postParams);
try { try {
@ -442,6 +452,35 @@ public class AppMaster {
} }
} }
private String getCrashTimes(final long startTimeMs, final long endTimeMs) {
String path = "/data/system/dropbox/";
final String prefixFileName = "data_app_crash@";
final int[] cnts = new int[2];
cnts[0] = 0;
cnts[1] = 0;
long weekStartTime = startTimeMs - 86400000 * 7;
FileFilter fileFilter = new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.isFile() && pathname.getName().startsWith(prefixFileName) && pathname.lastModified() <= endTimeMs) {
if (pathname.lastModified() >= startTimeMs) {
cnts[0]++;
}
// if (pathname.lastModified() >= weekStartTime) {
cnts[1]++;
// }
}
return false;
}
};
File file = new File(path);
String[] files = file.list();
File[] subFiles = file.listFiles(fileFilter);
return ((cnts[0] == 0) && (cnts[1] == 0)) ? null : Integer.toString(cnts[0]) + " " + Integer.toString(cnts[1]);
}
private String getBatteryVoltage() { private String getBatteryVoltage() {
int val = 0; int val = 0;
for (int idx = 0; idx < 3; idx++) { for (int idx = 0; idx < 3; idx++) {

@ -81,6 +81,7 @@ public class MpMasterService extends Service {
private SmsSendReceiver mSmsSnedReceiver; private SmsSendReceiver mSmsSnedReceiver;
private int mPrevDateForLogs = 0; private int mPrevDateForLogs = 0;
private int mMasterTimers = 0;
public static class STATE_SERVICE { public static class STATE_SERVICE {
public static final int CONNECTED = 10; public static final int CONNECTED = 10;
@ -477,6 +478,14 @@ public class MpMasterService extends Service {
} }
} }
public boolean isCriticalTime() {
if (mSeparateNetwork) {
return true;
}
return (mMasterTimers % 12) == 0;
}
private void startMaster(boolean bundleWithMpApp) { private void startMaster(boolean bundleWithMpApp) {
String masterUrl = MicroPhotoContext.DEFAULT_MASTER_URL; String masterUrl = MicroPhotoContext.DEFAULT_MASTER_URL;
@ -493,8 +502,10 @@ public class MpMasterService extends Service {
logger.warning("Start Mntn report: " + masterUrl + " MntnMode=" + (mMntnMode ? "1" : "0") + " QuickHB=" + (mQuickHbMode ? "1" : "0")); logger.warning("Start Mntn report: " + masterUrl + " MntnMode=" + (mMntnMode ? "1" : "0") + " QuickHB=" + (mQuickHbMode ? "1" : "0"));
AppMaster appMaster = new AppMaster(this, masterUrl, appConfig.cmdid, bundleWithMpApp); AppMaster appMaster = new AppMaster(this, masterUrl, appConfig.cmdid, bundleWithMpApp);
appMaster.start(); appMaster.start(isCriticalTime());
mMasterTimers++;
} }
public static class AlarmReceiver extends BroadcastReceiver { public static class AlarmReceiver extends BroadcastReceiver {

Loading…
Cancel
Save