private static void ResetSecureSecret( TLPasswordSettings passwordSettings, TLPassword passwordBase, TLString password, TLAuthorizationForm authorizationForm, IList <TLSecureValue> secureValues, IMTProtoService mtProtoService, IStateService stateService, INavigationService navigationService) { var passwordSettings83 = passwordSettings as TLPasswordSettings83; if (passwordSettings83 == null) { return; } var password84 = passwordBase as TLPassword84; if (password84 == null) { return; } var newSecureSettings = new TLSecureSecretSettings { SecureAlgo = new TLSecurePasswordKdfAlgoUnknown(), SecureSecret = TLString.Empty, SecureSecretId = new TLLong(0) }; var newSettings = new TLPasswordInputSettings83 { Flags = new TLInt(0), NewSecureSettings = newSecureSettings, }; mtProtoService.GetPasswordAsync( resul1 => { var srpParams = resul1 as IPasswordSRPParams; if (srpParams == null) { return; } var currentPasswordHash = passwordBase.CurrentPasswordHash ?? TLString.Empty; mtProtoService.UpdatePasswordSettingsAsync(SRP.GetCheck(currentPasswordHash, srpParams.SRPId, srpParams.SRPB, srpParams.CurrentAlgo), newSettings, result2 => { passwordSettings83.SecureSettings = newSettings.NewSecureSettings; NavigateToPassportCommon( passwordSettings83, passwordBase, password, authorizationForm, secureValues, mtProtoService, stateService, navigationService); }, error2 => { }); }, error1 => { }); }
public override void DeserializeBody(BinaryReader br) { Flags = br.ReadInt32(); if ((Flags & 1) != 0) { NewAlgo = (TLAbsPasswordKdfAlgo)ObjectUtils.DeserializeObject(br); } else { NewAlgo = null; } if ((Flags & 1) != 0) { NewPasswordHash = BytesUtil.Deserialize(br); } else { NewPasswordHash = null; } if ((Flags & 1) != 0) { Hint = StringUtil.Deserialize(br); } else { Hint = null; } if ((Flags & 2) != 0) { Email = StringUtil.Deserialize(br); } else { Email = null; } if ((Flags & 4) != 0) { NewSecureSettings = (TLSecureSecretSettings)ObjectUtils.DeserializeObject(br); } else { NewSecureSettings = null; } }
public override void DeserializeBody(BinaryReader br) { Flags = br.ReadInt32(); if ((Flags & 1) != 0) { Email = StringUtil.Deserialize(br); } else { Email = null; } if ((Flags & 2) != 0) { SecureSettings = (TLSecureSecretSettings)ObjectUtils.DeserializeObject(br); } else { SecureSettings = null; } }