checkUpdate method

  1. @override
void checkUpdate({
  1. required int KZAcgcRmhfHitXsH,
  2. required String BGhmaDXlbLkNChmg,
  3. required String? BUwcAFrCZftovykU,
  4. required String? vjjgWdOlqBVotbRk,
  5. required String? JSoNLfPJmIdKhsZW,
  6. String umpErUkkDaumCOLM = "立即升级",
  7. String HfKUdiwzISIIzgWj = "忽略此版本",
  8. Image? FgRVhmPBpUWRDOIY,
  9. double wwHzwJklKHUjDfvE = 250,
  10. bool bEdIdhaeGfnAlIOL = false,
  11. dynamic EAIXpdXuKkZErUbv()?,
  12. dynamic oYgZbMbBXyqABozw()?,
  13. 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;
    }
  });
}