version:2.0.6
update:更新展讯签名 fix:修复灰度测试只获取一个app add:
This commit is contained in:
@@ -1279,7 +1279,7 @@ public class DiscardActivity extends AppCompatActivity {
|
||||
com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
|
||||
jsonObject.put("app_name", app_name);
|
||||
jsonObject.put("app_package", app_package);
|
||||
int app_version_code = forceDownloadData.getApp_version_code();
|
||||
long app_version_code = forceDownloadData.getApp_version_code();
|
||||
Log.e("fht ", "packageName=" + app_package + ",URL= " + app_url + ",app_version_code=" + app_version_code);
|
||||
if (data.get(i).getApp_package().equals("com.jiaoguanyi.appstore")) {
|
||||
continue;//为自身的跳过下载
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.mjsheng.myappstore.bean.BaseResponse;
|
||||
import com.mjsheng.myappstore.bean.BrowserBookmarks;
|
||||
import com.mjsheng.myappstore.bean.BrowserData;
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadBean;
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadData;
|
||||
import com.mjsheng.myappstore.bean.LogoImg;
|
||||
import com.mjsheng.myappstore.bean.NetAndLaunchBean;
|
||||
import com.mjsheng.myappstore.bean.NewAppground;
|
||||
@@ -568,6 +569,9 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取灰度测试更新
|
||||
*/
|
||||
@Override
|
||||
public void checkTestUpdate() {
|
||||
if (JGYUtils.isOfficialVersion()) {
|
||||
@@ -576,26 +580,24 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
}
|
||||
NetInterfaceManager.getInstance()
|
||||
.getTestUpdateObservable()
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
.subscribe(new Observer<BaseResponse<List<ForceDownloadData>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
public void onSubscribe(Disposable d) {
|
||||
Log.e("checkTestUpdate", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse response) {
|
||||
if (response.code == 200) {
|
||||
JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
|
||||
JGYUtils.getInstance().installTestAPK(jsonObject);
|
||||
public void onNext(BaseResponse<List<ForceDownloadData>> listBaseResponse) {
|
||||
if (listBaseResponse.code == 200) {
|
||||
List<ForceDownloadData> APPlist = listBaseResponse.data;
|
||||
JGYUtils.getInstance().installTestAPK(APPlist);
|
||||
} else {
|
||||
Log.e("checkTestUpdate", "onNext: " + response);
|
||||
Log.e("checkTestUpdate", "onNext: " + listBaseResponse.msg);
|
||||
}
|
||||
Log.e("checkTestUpdate", "onNext: ");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
public void onError(Throwable e) {
|
||||
Log.e("checkTestUpdate", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
@@ -695,7 +697,7 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
// if (null != batchList && batchList.size() > 1) {
|
||||
// Log.e("getDeviceBatch", "onNext: " + "deleteOtherApp");
|
||||
// if (!BuildConfig.DEBUG) {
|
||||
JGYUtils.getInstance().deleteOtherApp(packageList);
|
||||
JGYUtils.getInstance().deleteOtherApp(packageList);
|
||||
// }
|
||||
// } else {
|
||||
// Log.e("getDeviceBatch", "批次为空");
|
||||
@@ -1271,10 +1273,10 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void onNext(BaseResponse baseResponse) {
|
||||
Log.e("getDeveloper", "onNext: ");
|
||||
if (baseResponse.code == 200) {
|
||||
JSONObject jsonObject = (JSONObject) JSON.toJSON(baseResponse.data);
|
||||
int is_developer = jsonObject.getInteger("is_developer");
|
||||
Log.e("getDeveloper", "onNext: " + is_developer);
|
||||
//后台1是0否 底层0是1否
|
||||
JGYUtils.getInstance().setDeveloperOptions(is_developer == 0 ? 1 : 0);
|
||||
} else {
|
||||
|
||||
@@ -15,8 +15,9 @@ public class ForceDownloadData implements Serializable {
|
||||
private String app_name;
|
||||
private String app_package;
|
||||
private String app_url;
|
||||
private int app_version_code;
|
||||
private String app_id;
|
||||
private String app_md5;
|
||||
private long app_version_code;
|
||||
|
||||
public String getApp_package() {
|
||||
return app_package;
|
||||
@@ -34,14 +35,6 @@ public class ForceDownloadData implements Serializable {
|
||||
this.app_url = app_url;
|
||||
}
|
||||
|
||||
public int getApp_version_code() {
|
||||
return app_version_code;
|
||||
}
|
||||
|
||||
public void setApp_version_code(int app_version_code) {
|
||||
this.app_version_code = app_version_code;
|
||||
}
|
||||
|
||||
public String getApp_name() {
|
||||
return app_name;
|
||||
}
|
||||
@@ -58,6 +51,22 @@ public class ForceDownloadData implements Serializable {
|
||||
this.app_id = app_id;
|
||||
}
|
||||
|
||||
public long getApp_version_code() {
|
||||
return app_version_code;
|
||||
}
|
||||
|
||||
public void setApp_version_code(long app_version_code) {
|
||||
this.app_version_code = app_version_code;
|
||||
}
|
||||
|
||||
public String getApp_md5() {
|
||||
return app_md5;
|
||||
}
|
||||
|
||||
public void setApp_md5(String app_md5) {
|
||||
this.app_md5 = app_md5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ForceDownloadData{" +
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.mjsheng.myappstore.bean.BaseResponse;
|
||||
import com.mjsheng.myappstore.bean.BrowserBookmarks;
|
||||
import com.mjsheng.myappstore.bean.BrowserData;
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadBean;
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadData;
|
||||
import com.mjsheng.myappstore.bean.LogoImg;
|
||||
import com.mjsheng.myappstore.bean.NetAndLaunchBean;
|
||||
import com.mjsheng.myappstore.bean.NewAppground;
|
||||
@@ -258,7 +259,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
|
||||
|
||||
public Observable<BaseResponse> getTestUpdateObservable() {
|
||||
public Observable<BaseResponse<List<ForceDownloadData>>> getTestUpdateObservable() {
|
||||
return mRetrofit
|
||||
.create(CheckTestUpdateApi.class)
|
||||
.getTestUpdate(Utils.getSerial())
|
||||
|
||||
@@ -32,8 +32,10 @@ public class URLAddress {
|
||||
public static final String SET_APPINSIDEWEB = HTTP_TAG_HEAD_NEW + "Appground";
|
||||
//浏览器黑白名单地址
|
||||
public static final String SET_BROWSER_LIST = HTTP_TAG_HEAD_NEW + "browser";
|
||||
//强制安装应用
|
||||
public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index";
|
||||
//应用白名单
|
||||
public static final String SET_WHITE_PACKAGE_LIST = HTTP_TAG_HEAD_NEW + "firmware/index";
|
||||
public static final String SET_WHITE_PACKAGE_LIST = "firmware/index";
|
||||
//获取隐藏桌面图标
|
||||
public static final String GET_HIDE_DESKTOPICON = HTTP_TAG_HEAD_NEW + "Icon";
|
||||
//获取应用升级自启
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.mjsheng.myappstore.network.api;
|
||||
|
||||
import com.mjsheng.myappstore.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
@@ -15,7 +17,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface AppLimitApi {
|
||||
@FormUrlEncoded
|
||||
@POST("firmware/index")
|
||||
@POST(URLAddress.SET_WHITE_PACKAGE_LIST)
|
||||
Observable<ResponseBody> getAppLimitApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mjsheng.myappstore.network.api;
|
||||
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadBean;
|
||||
import com.mjsheng.myappstore.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -16,7 +17,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface ForceDownloadApi {
|
||||
@FormUrlEncoded
|
||||
@POST("forceinstall/index")
|
||||
@POST(URLAddress.GET_FORCE_INSTALL_LIST)
|
||||
Observable<ForceDownloadBean> getForceDownloadApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
package com.mjsheng.myappstore.network.api.newapi;
|
||||
|
||||
import com.mjsheng.myappstore.bean.BaseResponse;
|
||||
import com.mjsheng.myappstore.bean.ForceDownloadData;
|
||||
import com.mjsheng.myappstore.network.URLAddress;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface CheckTestUpdateApi {
|
||||
@GET(URLAddress.GET_SN_APP_TEST)
|
||||
Observable<BaseResponse> getTestUpdate(
|
||||
Observable<BaseResponse<List<ForceDownloadData>>> getTestUpdate(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
|
||||
@@ -862,7 +862,7 @@ public class DiscardServer extends Service {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("app_name", app_name);
|
||||
jsonObject.put("app_package", app_package);
|
||||
int app_version_code = forceDownloadData.getApp_version_code();
|
||||
long app_version_code = forceDownloadData.getApp_version_code();
|
||||
Log.e("forceDownload", "packageName=" + app_package + ",URL= " + app_url + ",app_version_code=" + app_version_code);
|
||||
if (data.get(i).getApp_package().equals("com.jiaoguanyi.appstore")) {
|
||||
continue;//为自身的跳过下载
|
||||
|
||||
@@ -575,17 +575,17 @@ public class GuardService extends Service {
|
||||
}
|
||||
|
||||
@Download.onTaskFail
|
||||
void taskFail(DownloadTask task) {
|
||||
void taskFail(DownloadTask task, Exception e) {
|
||||
try {
|
||||
final String filepath = task.getFilePath();
|
||||
final String packageName = task.getExtendField();
|
||||
JSONObject jsonObject = JSON.parseObject(task.getExtendField());
|
||||
String app_name = jsonObject.getString("app_name");
|
||||
String app_package = jsonObject.getString("app_package");
|
||||
Log.e("aria", "下载失败:" + packageName + "filepath" + filepath);
|
||||
Log.e("aria", "下载失败: " + packageName + "filepath: " + filepath + "Exception: " + e.getMessage());
|
||||
// ToastUtil.show(app_name + "\t:下载失败");
|
||||
} catch (Exception e) {
|
||||
Log.e("aria", "taskFail");
|
||||
} catch (Exception e1) {
|
||||
Log.e("aria", "taskFail: " + e1.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -473,11 +473,13 @@ public class JGYUtils {
|
||||
String app_package = forceDownloadData.getApp_package();
|
||||
String app_url = forceDownloadData.getApp_url();
|
||||
String app_id = forceDownloadData.getApp_id();
|
||||
String app_md5 = forceDownloadData.getApp_md5();
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("app_name", app_name);
|
||||
jsonObject.put("app_package", app_package);
|
||||
jsonObject.put("app_id", app_id);
|
||||
int app_version_code = forceDownloadData.getApp_version_code();
|
||||
jsonObject.put("MD5", app_md5);
|
||||
long app_version_code = forceDownloadData.getApp_version_code();
|
||||
Log.e("fht ", "packageName=" + app_package + ",URL= " + app_url + ",app_version_code=" + app_version_code);
|
||||
if (BuildConfig.APPLICATION_ID.equals(data.get(i).getApp_package())) {
|
||||
continue;//为自身的跳过下载
|
||||
@@ -527,6 +529,10 @@ public class JGYUtils {
|
||||
SaveListUtils.sendForceAPP(mContext);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取教管壹下载,没什么用了
|
||||
* @param forceDownloadDataList
|
||||
*/
|
||||
private void getSelfDownload(List<ForceDownloadData> forceDownloadDataList) {
|
||||
for (ForceDownloadData forceDownloadData : forceDownloadDataList) {
|
||||
if ("com.jiaoguanyi.store".equals(forceDownloadData.getApp_package())) {
|
||||
@@ -576,6 +582,9 @@ public class JGYUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param jsonObject
|
||||
*/
|
||||
public void installTestAPK(JsonObject jsonObject) {
|
||||
String url = jsonObject.get("app_url").getAsString();
|
||||
int versionCode = jsonObject.get("app_version_code").getAsInt();
|
||||
@@ -600,6 +609,37 @@ public class JGYUtils {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 安装灰度测试app
|
||||
* @param dataList
|
||||
*/
|
||||
public void installTestAPK(List<ForceDownloadData> dataList) {
|
||||
for (ForceDownloadData data : dataList) {
|
||||
String url = data.getApp_url();
|
||||
long versionCode = data.getApp_version_code();
|
||||
String packageName = data.getApp_package();
|
||||
String app_name = data.getApp_name();
|
||||
// String app_id = jsonObject.get("app_id").getAsString();
|
||||
JSONObject object = new JSONObject();
|
||||
object.put("app_name", app_name);
|
||||
object.put("app_package", packageName);
|
||||
// object.put("app_id", app_id);
|
||||
PackageManager pm = mContext.getPackageManager();
|
||||
PackageInfo packageInfo = null;
|
||||
try {
|
||||
packageInfo = pm.getPackageInfo(packageName, 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (packageInfo == null || packageInfo.versionCode < versionCode) {
|
||||
Utils.ariaDownload(mContext, url, object);
|
||||
} else {
|
||||
Log.e("installTestAPK", "TestAPK: " + packageName + "\t无更新");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void installDesktop(JSONObject jsonObject) {
|
||||
String app_name = jsonObject.getString("app_name");
|
||||
String app_url = jsonObject.getString("app_url");
|
||||
|
||||
@@ -966,7 +966,7 @@ public class Utils {
|
||||
Log.e("ariaDownload", "filenameMD5=" + filenameMD5);
|
||||
Log.e("ariaDownload", "fileMD5=" + fileMD5);
|
||||
//后端还没有完成json字段的MD5,暂时用文件名获取
|
||||
if (fileMD5.equalsIgnoreCase(filenameMD5)) {
|
||||
if (fileMD5.equalsIgnoreCase(urlMD5)) {
|
||||
ApkUtils.installApp(context, file.getAbsolutePath());
|
||||
} else {
|
||||
Aria.download(context)
|
||||
|
||||
Reference in New Issue
Block a user