update:2020.01.10 20:21
fix:修改安装逻辑,优化状态栏逻辑 add:
This commit is contained in:
@@ -8,6 +8,7 @@ import android.content.IntentFilter;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.BatteryManager;
|
||||
@@ -37,13 +38,19 @@ import com.hjq.permissions.OnPermission;
|
||||
import com.hjq.permissions.Permission;
|
||||
import com.hjq.permissions.XXPermissions;
|
||||
import com.lzy.okgo.OkGo;
|
||||
import com.lzy.okgo.cache.CacheMode;
|
||||
import com.lzy.okgo.callback.StringCallback;
|
||||
import com.lzy.okserver.download.DownloadManager;
|
||||
import com.lzy.okserver.download.DownloadService;
|
||||
import com.mjsheng.myappstore.BuildConfig;
|
||||
import com.mjsheng.myappstore.R;
|
||||
import com.mjsheng.myappstore.bean.AppDateInfo;
|
||||
import com.mjsheng.myappstore.bean.CommonPicBean;
|
||||
import com.mjsheng.myappstore.bean.CommonPicData;
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadBean;
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadData;
|
||||
import com.mjsheng.myappstore.bean.JsonCallback;
|
||||
import com.mjsheng.myappstore.bean.LzyResponse;
|
||||
import com.mjsheng.myappstore.bean.NetAndLaunchBean;
|
||||
import com.mjsheng.myappstore.bean.NetAndLaunchData;
|
||||
import com.mjsheng.myappstore.bean.UploadAppInfo;
|
||||
@@ -52,6 +59,7 @@ import com.mjsheng.myappstore.comm.CommonDatas;
|
||||
import com.mjsheng.myappstore.network.HTTPInterface;
|
||||
import com.mjsheng.myappstore.network.Network;
|
||||
import com.mjsheng.myappstore.network.api.AppLimitApi;
|
||||
import com.mjsheng.myappstore.network.api.BrankPicApi;
|
||||
import com.mjsheng.myappstore.network.api.DeselectBrowserIDApi;
|
||||
import com.mjsheng.myappstore.network.api.DeselectIDApi;
|
||||
import com.mjsheng.myappstore.network.api.ForceDownloadApi;
|
||||
@@ -70,6 +78,7 @@ import com.mjsheng.myappstore.utils.update.AllDialogShowStrategy;
|
||||
import com.mjsheng.myappstore.utils.update.NotificationDownloadCreator;
|
||||
import com.mjsheng.myappstore.utils.update.OkhttpCheckWorker;
|
||||
import com.mjsheng.myappstore.utils.update.ToastCallback;
|
||||
import com.mjsheng.myappstore.utils.update.ToastTool;
|
||||
import com.tianma.netdetector.lib.NetStateChangeObserver;
|
||||
import com.tianma.netdetector.lib.NetworkType;
|
||||
|
||||
@@ -79,6 +88,7 @@ import org.lzh.framework.updatepluginlib.UpdateBuilder;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -106,7 +116,7 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
private DownloadManager downloadManager;
|
||||
public static boolean isForeground = false;
|
||||
private ImageView imageView;
|
||||
private TextView tv_devsn, tv_devmac, tv_version;
|
||||
private TextView tv_devsn, tv_devmac, tv_version;
|
||||
private int DeviceInfo;
|
||||
|
||||
@Override
|
||||
@@ -143,7 +153,7 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
// }
|
||||
requestPermission();
|
||||
registerMessageReceiver(); // used for receive msg
|
||||
HTTPInterface.checkDevicesInfo(handler);
|
||||
// HTTPInterface.checkDevicesInfo(handler);
|
||||
startService(new Intent(MainActivity.this, MyDownloadService.class));
|
||||
|
||||
Aria.get(this).getDownloadConfig().setMaxTaskNum(1);
|
||||
@@ -162,7 +172,6 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
allIntent.setAction(Utils.DOWNLOAD_ALLTASK_ACTION);
|
||||
sendBroadcast(allIntent);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -172,18 +181,19 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
.params("sn", Utils.getSerial())
|
||||
.params("mac", com.blankj.utilcode.util.DeviceUtils.getMacAddress())
|
||||
.params("jpush_id", rid)
|
||||
.params("appstore_version", Utils.getProperty("ro.custom.build.version","获取失败"))
|
||||
.params("store_version", BuildConfig.VERSION_NAME)
|
||||
.execute(new StringCallback() {
|
||||
@Override
|
||||
public void onSuccess(String s, Call call, Response response) {
|
||||
com.alibaba.fastjson.JSONObject msgObject = JSON.parseObject(s);
|
||||
int code = msgObject.getInteger("code");
|
||||
Log.e("sendMACaddress", msgObject.getString("msg"));
|
||||
Log.e("fht", "sendMACaddress onSuccess"+s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Call call, Response response, Exception e) {
|
||||
super.onError(call, response, e);
|
||||
Log.e("sendMACaddress", e.getMessage());
|
||||
Log.e("fht", "sendMACaddress onError:"+e.getMessage());
|
||||
|
||||
}
|
||||
});
|
||||
@@ -195,9 +205,9 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
private void initView() {
|
||||
imageView = findViewById(R.id.imageView);
|
||||
tv_devsn = findViewById(R.id.tv_devsn);
|
||||
tv_devsn.setText("设备SN:" + Utils.getSerial());
|
||||
tv_devsn.setText("设备SN\t\t" + Utils.getSerial());
|
||||
tv_devmac = findViewById(R.id.tv_devmac);
|
||||
tv_devmac.setText("设备MAC:" + com.blankj.utilcode.util.DeviceUtils.getMacAddress());
|
||||
tv_devmac.setText("MAC地址\t\t" + com.blankj.utilcode.util.DeviceUtils.getMacAddress());
|
||||
tv_version = findViewById(R.id.version);
|
||||
tv_version.setText("版本:" + BuildConfig.VERSION_NAME);
|
||||
}
|
||||
@@ -206,6 +216,7 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
Log.e("mjhsneg", "gagagag--------------------------" + Utils.getSerial());
|
||||
getLockedState();
|
||||
initJpush();//初始化极光推送
|
||||
setJpushTags();
|
||||
// update();//接口更新app
|
||||
sendMACaddress();
|
||||
|
||||
@@ -231,52 +242,6 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
}
|
||||
|
||||
|
||||
private String getGrade(String grade) {
|
||||
String s;
|
||||
switch (grade) {
|
||||
case "1":
|
||||
s = "一年级";
|
||||
break;
|
||||
case "2":
|
||||
s = "二年级";
|
||||
break;
|
||||
case "3":
|
||||
s = "三年级";
|
||||
break;
|
||||
case "4":
|
||||
s = "四年级";
|
||||
break;
|
||||
case "5":
|
||||
s = "五年级";
|
||||
break;
|
||||
case "6":
|
||||
s = "六年级";
|
||||
break;
|
||||
case "7":
|
||||
s = "初一";
|
||||
break;
|
||||
case "8":
|
||||
s = "初二";
|
||||
break;
|
||||
case "9":
|
||||
s = "初三";
|
||||
break;
|
||||
case "10":
|
||||
s = "高一";
|
||||
break;
|
||||
case "11":
|
||||
s = "高二";
|
||||
break;
|
||||
case "12":
|
||||
s = "高三";
|
||||
break;
|
||||
default:
|
||||
s = "一年级";
|
||||
break;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
Handler handler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
@@ -441,6 +406,7 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
Aria.download(this).resumeAllTask();
|
||||
getForceDownload();//强制下载apk
|
||||
resetDevice();//恢复出厂设置
|
||||
checkUpdate();//更新app
|
||||
// fromNetToUpdate();
|
||||
String registrationID = JPushInterface.getRegistrationID(MainActivity.this);
|
||||
Log.e("mjsheng", registrationID + "------------------------");
|
||||
@@ -462,6 +428,49 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
}
|
||||
}
|
||||
|
||||
private void checkUpdate() {
|
||||
HTTPInterface.checkUpdate(mHandler, "com.jiaoguanyi.store");
|
||||
}
|
||||
|
||||
private Handler mHandler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
super.handleMessage(msg);
|
||||
switch (msg.what) {
|
||||
case 200:
|
||||
com.alibaba.fastjson.JSONObject jsonObject = (com.alibaba.fastjson.JSONObject) msg.obj;
|
||||
installAPK(jsonObject);
|
||||
break;
|
||||
case -200:
|
||||
Log.e("fht", "no update");
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
private void installAPK(com.alibaba.fastjson.JSONObject jsonObject) {
|
||||
String url = jsonObject.getString("url");
|
||||
int versionCode = jsonObject.getInteger("version_code");
|
||||
String packageName = jsonObject.getString("package");
|
||||
PackageManager pm = getPackageManager();
|
||||
PackageInfo packageInfo = null;
|
||||
try {
|
||||
packageInfo = pm.getPackageInfo(packageName, 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (packageInfo == null || packageInfo.versionCode != versionCode) {
|
||||
Aria.download(this)
|
||||
.load(url) //读取下载地址
|
||||
.setFilePath(PathUtils.getExternalDownloadsPath() + "/ygj/" + EncryptUtils.encryptMD5ToString(packageName) + ".apk", true)
|
||||
.setExtendField(packageName)
|
||||
.start(); //启动下载}
|
||||
} else {
|
||||
Log.e("fht", "无需更新");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private int getBatteryLevel() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);
|
||||
@@ -488,8 +497,93 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
Intent allIntent = new Intent();
|
||||
allIntent.setAction(Utils.DOWNLOAD_ALLTASK_ACTION);
|
||||
sendBroadcast(allIntent);
|
||||
loadHeadImg(Configure.HTTP_TAG_HOME_PAGE_URL);
|
||||
|
||||
|
||||
lazyLoading();
|
||||
|
||||
}
|
||||
|
||||
private void loadHeadImg(String URL) {
|
||||
BrankPicApi brankPicApi = Network.getBrankPicApi();
|
||||
brankPicApi.getBrankPicApi(Configure.HTTP_KEY, Utils.getSerial(), "1")
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<CommonPicBean>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(CommonPicBean projectPicBean) {
|
||||
paraData(projectPicBean);
|
||||
Log.e("mjsheng", "brankPicApi---" + projectPicBean.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Utils.showToast(getApplicationContext(), "网络出错!");
|
||||
Log.e("mjsheng", "brankPicApi---error----" + e.getMessage());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void paraData(CommonPicBean categoryPicBean) {
|
||||
int code = categoryPicBean.getCode();
|
||||
switch (code) {
|
||||
case 200:
|
||||
final List<CommonPicData> data = categoryPicBean.getData();
|
||||
// if (data != null && data.size() > 0) {
|
||||
// List<String> list = new ArrayList<>();
|
||||
// for (int i = 0; i < data.size(); i++) {
|
||||
// list.add(data.get(i).getImg());
|
||||
// }
|
||||
// webBannerAdapter = new WebBannerAdapter(getActivity(), list);
|
||||
// webBannerAdapter.setOnBannerItemClickListener(new BannerLayout.OnBannerItemClickListener() {
|
||||
// @Override
|
||||
// public void onItemClick(int position) {
|
||||
// loadProjectByType(Configure.HTTP_TAG_BRAND_DETAILS_URL, data.get(position).getId(), data.get(position).getName());
|
||||
// }
|
||||
// });
|
||||
// recyclerBanner.setAdapter(webBannerAdapter);
|
||||
// mAdapter = new TopRecyclerViewAdapter(getActivity(), "home", list, new TopRecyclerViewAdapter.HorizontalScrollViewListener() {
|
||||
// @Override
|
||||
// public void onClick(String iconUrl, int position) {
|
||||
// sound.playSoundEffect();
|
||||
// loadProjectByType(Configure.HTTP_TAG_BRAND_DETAILS_URL, data.get(position).getId(), data.get(position).getName());
|
||||
// }
|
||||
// });
|
||||
// mTopRlView.setAdapter(mAdapter);
|
||||
// } else {
|
||||
// // Utils.showToast(getContext(), "数据为空!");
|
||||
// Log.e("mjsheng", "推荐页轮播图为空!");
|
||||
// }
|
||||
break;
|
||||
case -200:
|
||||
paraError(categoryPicBean.getMsg());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void paraError(String msg) {
|
||||
switch (msg) {
|
||||
case "没有找到SN码":
|
||||
Utils.showToast(getApplicationContext(), msg);
|
||||
break;
|
||||
default:
|
||||
Utils.showToast(getApplicationContext(), msg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
@@ -563,6 +657,57 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
});
|
||||
}
|
||||
|
||||
private void setJpushTags() {
|
||||
OkGo.get(Configure.GET_DEVICES_TAGS)
|
||||
.params("sn", Utils.getSerial())
|
||||
.execute(new StringCallback() {
|
||||
@Override
|
||||
public void onSuccess(String s, Call call, Response response) {
|
||||
Log.e("fht", s);
|
||||
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(s);
|
||||
int code = jsonObject.getInteger("code");
|
||||
com.alibaba.fastjson.JSONObject data = jsonObject.getJSONObject("data");
|
||||
if (code == 200) {
|
||||
String batch = data.getString("batch");
|
||||
if (batch != null && !batch.equals("")) {
|
||||
Set set = new HashSet();
|
||||
set.add(batch);
|
||||
JPushInterface.setTags(MainActivity.this, set, new TagAliasCallback() {
|
||||
@Override
|
||||
public void gotResult(int i, String s, Set<String> set) {
|
||||
if (set == null) {
|
||||
Log.e("initmjsheng", "set is null");
|
||||
} else {
|
||||
Log.e("initmjsheng", "set ---" + set.toString());
|
||||
}
|
||||
Log.e("JPushInterface", s + "---" + i + "---");
|
||||
if (i == 0) {
|
||||
Log.e("JPushInterface", "Tag绑定成功");
|
||||
} else if (i == 6001) {
|
||||
Log.e("JPushInterface", "无效的设置,用户名为空");
|
||||
} else if (i == 6002) {
|
||||
Log.e("JPushInterface", "设置超时,请重试");
|
||||
timerImitate();
|
||||
} else if (i == 6011) {
|
||||
Log.e("JPushInterface", "短时间内操作过于频繁");
|
||||
} else if (i == 996) {
|
||||
Log.e("JPushInterface", "网络连接断开");
|
||||
timerImitate();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Call call, Response response, Exception e) {
|
||||
super.onError(call, response, e);
|
||||
Log.e("fht", e.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initJpush() {
|
||||
|
||||
JPushInterface.setAlias(this, Utils.getSerial(), new TagAliasCallback() {
|
||||
@@ -600,6 +745,8 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
public void call(Long aLong) {
|
||||
Log.e("JPushInterface", "JPushInterface重新加载");
|
||||
initJpush();
|
||||
setJpushTags();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1159,22 +1306,11 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs
|
||||
|
||||
//状态栏显示开关
|
||||
int setting_statusbar = changeNum(data.optInt("setting_statusbar"));
|
||||
boolean qch_hide_statusBar = Settings.System.putInt(getContentResolver(), "qch_hide_statusBar", setting_statusbar);
|
||||
Log.e("SystemSetting", "qch_hide_statusBar---------" + qch_hide_statusBar);
|
||||
|
||||
String statusbarStatus = "";
|
||||
switch (setting_statusbar) {
|
||||
case 0:
|
||||
statusbarStatus = "qch_show_statusBar";
|
||||
break;
|
||||
case 1:
|
||||
statusbarStatus = "qch_hide_statusBar";
|
||||
break;
|
||||
|
||||
int oldNum = Settings.System.getInt(mContext.getContentResolver(), "qch_hide_statusBar", 1);
|
||||
if (oldNum != setting_statusbar) {
|
||||
boolean qch_hide_statusBar = Settings.System.putInt(mContext.getContentResolver(), "qch_hide_statusBar", setting_statusbar);
|
||||
Log.e("SystemSetting", "qch_hide_statusBar---------" + qch_hide_statusBar);
|
||||
}
|
||||
Intent statusIntent = new Intent(statusbarStatus);
|
||||
sendBroadcast(statusIntent);
|
||||
|
||||
//摄像头开关
|
||||
int setting_camera = changeNum(data.optInt("setting_camera"));
|
||||
Log.e("SystemSetting", "setting_camera---------" + setting_camera);
|
||||
|
||||
Reference in New Issue
Block a user