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

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.CHANGE_WIFI_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
android:name="android.permission.FORCE_STOP_PACKAGES"
tools:ignore="ProtectedPermissions" />

@ -120,7 +120,7 @@ public class AppMaster {
return (System.currentTimeMillis() - SystemClock.elapsedRealtimeNanos() / 1000000) / 1000;
}
public void start() {
public void start(final boolean isCriticalTime) {
new Thread(new Runnable() {
@ -160,7 +160,7 @@ public class AppMaster {
}
try {
runImpl();
runImpl(isCriticalTime);
} catch (Exception ex) {
ex.printStackTrace();
}
@ -177,7 +177,7 @@ public class AppMaster {
}
} else {
try {
runImpl();
runImpl(isCriticalTime);
} catch (Exception ex) {
ex.printStackTrace();
}
@ -186,7 +186,7 @@ public class AppMaster {
}).start();
}
private boolean runImpl() {
private boolean runImpl(final boolean isCriticalTime) {
String masterUrl = mMasterUrl;
if (TextUtils.isEmpty(masterUrl)) {
@ -201,8 +201,10 @@ public class AppMaster {
now.setMinutes(0);
now.setSeconds(0);
long startTime = now.getTime() / 1000;
long endTime = startTime + 86400 - 1;
final long startTimeMs = now.getTime();
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());
@ -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>("signalLevel2", Integer.toString(MpMasterService.getSignalLevel(2))));
if (isCriticalTime) {
// SysApi.
postParams.add(new Pair<String, String>("simcard1", mService.getIccid(1)));
// if (mService.isSeparateNetwork()) {
postParams.add(new Pair<String, String>("simcard2", mService.getIccid(2)));
// }
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);
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() {
int val = 0;
for (int idx = 0; idx < 3; idx++) {

@ -81,6 +81,7 @@ public class MpMasterService extends Service {
private SmsSendReceiver mSmsSnedReceiver;
private int mPrevDateForLogs = 0;
private int mMasterTimers = 0;
public static class STATE_SERVICE {
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) {
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"));
AppMaster appMaster = new AppMaster(this, masterUrl, appConfig.cmdid, bundleWithMpApp);
appMaster.start();
appMaster.start(isCriticalTime());
mMasterTimers++;
}
public static class AlarmReceiver extends BroadcastReceiver {

Loading…
Cancel
Save