|
|
@@ -163,22 +163,88 @@ public final class LoginActivity extends AppActivity implements KeyboardWatcher. |
|
|
|
MyRetrofit.newInstanceGZ(IFCode.IFCODE148, new ResultBean.BizContent<>(), new MyRetrofit.ReturnResult() { |
|
|
|
@Override |
|
|
|
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) { |
|
|
|
if (FileImageTool.compareVersion(bizContent.getVersion(), AppConfig.getVersionName()) == 1) { |
|
|
|
new UpdateDialog.Builder(getActivity()) |
|
|
|
// 版本名 |
|
|
|
.setVersionName(bizContent.getVersion()) |
|
|
|
// 是否强制更新 |
|
|
|
.setForceUpdate(bizContent.getIsUpLevel() == 1) |
|
|
|
// 更新日志 |
|
|
|
.setUpdateLog(bizContent.getMessage()) |
|
|
|
// 下载 url Url.http_img + result.data.getUrl() |
|
|
|
.setDownloadUrl(MyRetrofit.URL_APP_IMG + "/" + bizContent.getUrl()) |
|
|
|
.show(); |
|
|
|
|
|
|
|
Log.i("版本检查", "版本查询接口返回成功: " + JSONObject.toJSONString(resultBean)); |
|
|
|
|
|
|
|
// 检查接口返回是否成功 |
|
|
|
if (resultBean.getCode() != 0) { |
|
|
|
Log.e("版本检查", "版本查询接口返回失败,code: " + resultBean.getCode() + ", message: " + resultBean.getMessage()); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 检查返回数据是否为空 |
|
|
|
if (bizContent == null) { |
|
|
|
Log.e("版本检查", "版本查询接口返回数据为空"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
String serverVersion = bizContent.getVersion(); |
|
|
|
String currentVersion = AppConfig.getVersionName(); |
|
|
|
|
|
|
|
Log.i("版本检查", "当前版本: " + currentVersion + ", 服务器版本: " + serverVersion); |
|
|
|
|
|
|
|
// 比较版本号:1表示服务器版本高于当前版本,需要更新 |
|
|
|
int versionCompare = FileImageTool.compareVersion(serverVersion, currentVersion); |
|
|
|
|
|
|
|
if (versionCompare == 1) { |
|
|
|
// 服务器版本高于当前版本,需要更新 |
|
|
|
Log.i("版本检查", "检测到新版本,开始处理更新逻辑"); |
|
|
|
|
|
|
|
boolean isForceUpdate = bizContent.getIsUpLevel() == 1; |
|
|
|
String updateMessage = bizContent.getMessage(); |
|
|
|
String downloadUrl = bizContent.getUrl(); |
|
|
|
|
|
|
|
Log.i("版本检查", "更新信息 - 强制更新: " + isForceUpdate + ", 更新说明: " + updateMessage + ", 下载地址: " + downloadUrl); |
|
|
|
|
|
|
|
if (isForceUpdate) { |
|
|
|
// 强制更新:必须更新才能继续使用 |
|
|
|
Log.i("版本检查", "强制更新模式,显示更新对话框"); |
|
|
|
new UpdateDialog.Builder(getActivity()) |
|
|
|
.setVersionName(serverVersion) |
|
|
|
.setForceUpdate(true) |
|
|
|
.setUpdateLog(updateMessage) |
|
|
|
.setDownloadUrl(downloadUrl) |
|
|
|
.show(); |
|
|
|
} else { |
|
|
|
// 非强制更新:提示用户有新版本,但不强制更新 |
|
|
|
Log.i("版本检查", "非强制更新模式,显示提示信息"); |
|
|
|
new MessageDialog.Builder(getActivity()) |
|
|
|
.setTitle("发现新版本") |
|
|
|
.setMessage("发现新版本 " + serverVersion + ",是否立即更新?\n\n" + updateMessage) |
|
|
|
.setConfirm("立即更新") |
|
|
|
.setCancel("稍后再说") |
|
|
|
.setListener(new MessageDialog.OnListener() { |
|
|
|
@Override |
|
|
|
public void onConfirm(BaseDialog dialog) { |
|
|
|
// 用户选择更新,显示更新对话框 |
|
|
|
new UpdateDialog.Builder(getActivity()) |
|
|
|
.setVersionName(serverVersion) |
|
|
|
.setForceUpdate(false) |
|
|
|
.setUpdateLog(updateMessage) |
|
|
|
.setDownloadUrl(downloadUrl) |
|
|
|
.show(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onCancel(BaseDialog dialog) { |
|
|
|
// 用户选择稍后再说,不做任何处理 |
|
|
|
Log.i("版本检查", "用户选择稍后更新"); |
|
|
|
} |
|
|
|
}) |
|
|
|
.show(); |
|
|
|
} |
|
|
|
} else if (versionCompare == 0) { |
|
|
|
// 版本相同,无需更新 |
|
|
|
Log.i("版本检查", "当前版本已是最新版本"); |
|
|
|
} else { |
|
|
|
// 当前版本高于服务器版本(理论上不应该发生) |
|
|
|
Log.w("版本检查", "当前版本高于服务器版本,可能是测试环境"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onError(Result resp) { |
|
|
|
public void onError(Response<Result> resp) { |
|
|
|
Log.e("版本检查", "版本查询接口调用失败: " + (resp != null ? resp.message() : "未知错误")); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |