procedureUpdate method

Future procedureUpdate(
  1. MoAppUpdateInfo model
)

Implementation

Future procedureUpdate(MoAppUpdateInfo model) async {
  if(!model.hasUpdate) {
    return;
  }
  if(model.url == null) {
    throw Exception('url must not null');
  }
  var url = model.url!;
  if(model.mode == MoAppUpdateMode.self) {
    if(platform == 'android') {
      String? apkPath;
      try{
        apkPath = await AndroidUtil.downloadApk(url, model.newVersionString);
        var res = await AndroidUtil.installApk(apkPath);
        return res;
      }
      finally {
        if(apkPath != null) {
          var file = File(apkPath);
          if(await file.exists()) {
            await file.delete();
          }
        }
      }
    }
    else {
      throw UnimplementedError('procedureUpdate ios not implemented');
    }
  }
  else {
    throw UnimplementedError('procedureUpdate store not implemented');
  }
}