应用上报

This commit is contained in:
huangzhuanghua
2017-04-26 15:56:19 +08:00
parent 6a851f7247
commit cfa70feac5
15 changed files with 325 additions and 29 deletions

View File

@ -15,6 +15,8 @@ import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.*;
import com.gh.base.BaseFragmentActivity;
import com.gh.common.constant.Config;
@ -31,6 +33,8 @@ import com.gh.gamecenter.news.NewsFragment;
import com.gh.gamecenter.personal.PersonalFragment;
import com.gh.gamecenter.retrofit.*;
import com.gh.gamecenter.retrofit.Response;
import com.readystatesoftware.systembartint.SystemBarTintManager;
import de.greenrobot.event.EventBus;
import okhttp3.*;
import org.json.JSONArray;
@ -43,6 +47,8 @@ import rx.functions.Func1;
import rx.schedulers.Schedulers;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.*;
import java.util.concurrent.CountDownLatch;
import java.util.zip.ZipEntry;
@ -282,6 +288,50 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setTheme(R.style.AppTheme);
setTranslucentStatus(true);
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
if (Build.MANUFACTURER.equals("Meizu") || Build.MANUFACTURER.equals("Xiaomi")) {
tintManager.setStatusBarTintColor(Color.WHITE);
} else {
tintManager.setStatusBarTintColor(Color.BLACK);
}
SystemBarTintManager.SystemBarConfig config = tintManager.getConfig();
contentView.setPadding(0, config.getPixelInsetTop(false), 0,
config.getPixelInsetBottom());
if (Build.MANUFACTURER.equals("Meizu")) {
try {
Window window = getWindow();
if (window != null) {
WindowManager.LayoutParams lp = window.getAttributes();
Field darkFlag = WindowManager.LayoutParams.class.getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON");
Field meizuFlags = WindowManager.LayoutParams.class.getDeclaredField("meizuFlags");
darkFlag.setAccessible(true);
meizuFlags.setAccessible(true);
int bit = darkFlag.getInt(null);
int value = meizuFlags.getInt(lp);
value |= bit;
meizuFlags.setInt(lp, value);
window.setAttributes(lp);
}
} catch (Exception e) {
e.printStackTrace();
}
} else if (Build.MANUFACTURER.equals("Xiaomi")) {
try {
Window window = getWindow();
if (window != null) {
Class<?> clazz = window.getClass();
Class layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
int darkModeFlag = field.getInt(layoutParams);
Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class);
extraFlagField.invoke(window, darkModeFlag, darkModeFlag);
}
} catch (Exception e){
e.printStackTrace();
}
}
}
setContentView(contentView);
@ -646,6 +696,9 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
PackageManager.init(list);
//应用上报
uploadAppList();
// 过滤助手收录的包
ArrayList<String> localList = new ArrayList<>();
FilterManager filterManager = new FilterManager(this);
@ -689,6 +742,14 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
}
}
private void uploadAppList() {
//检查是否符合应用上报周期
long time = sp.getLong("last_upload_applist_time", 0);
if (Utils.getTime(this) - time >= 604800L) {//一周为一个周期
DataCollectionUtils.uploadAppList(this, PackageUtils.getAppList(this));
}
}
private void updateConcern() {
ArrayList<String> concernIdList = new ArrayList<>();
for (ConcernInfo entity : concernManager.getAllConcern()) {