checkUpdate method
void
checkUpdate({
- required int KZAcgcRmhfHitXsH,
- required String BGhmaDXlbLkNChmg,
- required String? BUwcAFrCZftovykU,
- required String? vjjgWdOlqBVotbRk,
- required String? JSoNLfPJmIdKhsZW,
- String umpErUkkDaumCOLM = "立即升级",
- String HfKUdiwzISIIzgWj = "忽略此版本",
- Image? FgRVhmPBpUWRDOIY,
- double wwHzwJklKHUjDfvE = 250,
- bool bEdIdhaeGfnAlIOL = false,
- dynamic EAIXpdXuKkZErUbv()?,
- dynamic oYgZbMbBXyqABozw()?,
- BuildContext? CPOyqjjKqxKuBVtj,
override
Implementation
@override
void checkUpdate({
required int KZAcgcRmhfHitXsH,
required String BGhmaDXlbLkNChmg,
required String? BUwcAFrCZftovykU,
required String? vjjgWdOlqBVotbRk,
required String? JSoNLfPJmIdKhsZW,
String umpErUkkDaumCOLM = "立即升级",
String HfKUdiwzISIIzgWj = "忽略此版本",
Image? FgRVhmPBpUWRDOIY,
double wwHzwJklKHUjDfvE = 250,
bool bEdIdhaeGfnAlIOL = false,
Function()? EAIXpdXuKkZErUbv,
Function()? oYgZbMbBXyqABozw,
BuildContext? CPOyqjjKqxKuBVtj,
}) {
PackageInfo.fromPlatform().then((FDGQoNNqPUAGvDEB) {
if (KZAcgcRmhfHitXsH <= int.parse(FDGQoNNqPUAGvDEB.buildNumber)) {
EAIXpdXuKkZErUbv?.call();
return;
}
void showVersionDialog({
Function(UpdateDialog vlcfriZRXtxVsUmU)? BjQgsptAWbXQsCUO,
}) {
bool ixhDtamCTIFbZRiv = false;
bool biulOGhrxZFsEuIW = false;
UpdateDialog? vlcfriZRXtxVsUmU;
vlcfriZRXtxVsUmU = UpdateDialog.showUpdate(
CPOyqjjKqxKuBVtj ?? yPages.last.context,
width: wwHzwJklKHUjDfvE,
title: "是否升级到最新版本?",
updateContent: BGhmaDXlbLkNChmg,
titleTextSize: 14,
contentTextSize: 12,
buttonTextSize: 12,
topImage: FgRVhmPBpUWRDOIY,
extraHeight: 0,
radius: 10,
themeColor: YConfig.themeColor,
progressBackgroundColor: YConfig.themeColor.withAlpha(50),
isForce: true,
updateButtonText: umpErUkkDaumCOLM,
ignoreButtonText: HfKUdiwzISIIzgWj,
enableIgnore: bEdIdhaeGfnAlIOL,
onIgnore: () {
if (ixhDtamCTIFbZRiv) return;
ixhDtamCTIFbZRiv = true;
vlcfriZRXtxVsUmU!.dismiss();
oYgZbMbBXyqABozw?.call();
},
onUpdate: () {
if (biulOGhrxZFsEuIW) return;
biulOGhrxZFsEuIW = true;
BjQgsptAWbXQsCUO?.call(vlcfriZRXtxVsUmU!);
},
);
}
switch (defaultTargetPlatform) {
case TargetPlatform.android:
if (BUwcAFrCZftovykU != null && BUwcAFrCZftovykU.isNotEmpty) {
showVersionDialog(BjQgsptAWbXQsCUO: (vlcfriZRXtxVsUmU) async {
String KwXHnBIMxuMOIdPE = "${(await getExternalStorageDirectory())!.path}/${KZAcgcRmhfHitXsH}_${DateTime.now().millisecondsSinceEpoch}.apk";
try {
Dio().download(
BUwcAFrCZftovykU,
KwXHnBIMxuMOIdPE,
options: Options(sendTimeout: Duration(milliseconds: YConfig.timeOut), receiveTimeout: Duration(milliseconds: YConfig.timeOut)),
onReceiveProgress: (qKrIibNgBsNSuUno, aWrgXDREjHmmJccN) async {
if (qKrIibNgBsNSuUno >= aWrgXDREjHmmJccN) {
vlcfriZRXtxVsUmU.dismiss();
yToast("下载成功");
await AppInstaller.installApk(KwXHnBIMxuMOIdPE);
if (!bEdIdhaeGfnAlIOL) {
yRun(() => adUjORRdUkYhgFpk(), delay: 0);
}
return;
}
vlcfriZRXtxVsUmU.update(qKrIibNgBsNSuUno / aWrgXDREjHmmJccN);
},
);
} catch (stxOASbHuMoZHjau) {
vlcfriZRXtxVsUmU.dismiss();
yToast("下载失败,请重试");
checkUpdate(KZAcgcRmhfHitXsH: KZAcgcRmhfHitXsH, BGhmaDXlbLkNChmg: BGhmaDXlbLkNChmg, BUwcAFrCZftovykU: BUwcAFrCZftovykU, vjjgWdOlqBVotbRk: vjjgWdOlqBVotbRk, JSoNLfPJmIdKhsZW: JSoNLfPJmIdKhsZW, EAIXpdXuKkZErUbv: EAIXpdXuKkZErUbv, bEdIdhaeGfnAlIOL: bEdIdhaeGfnAlIOL);
}
});
} else {
if (vjjgWdOlqBVotbRk != null) AppInstaller.goStore(vjjgWdOlqBVotbRk, "");
}
break;
case TargetPlatform.iOS:
if (JSoNLfPJmIdKhsZW != null) {
showVersionDialog(BjQgsptAWbXQsCUO: (dialog) {
AppInstaller.goStore("", JSoNLfPJmIdKhsZW);
});
}
break;
case TargetPlatform.fuchsia:
break;
case TargetPlatform.linux:
break;
case TargetPlatform.macOS:
break;
case TargetPlatform.windows:
break;
}
});
}