示例#1
0
        internal async Task UpdateAccount()
        {
            if (OAuth.IsAuthenticatedForAnything())
            {
                await OAuth.UpdateAccountData();

                var token = Account.UploadToken;
                if (string.IsNullOrEmpty(token) || Account.TokenStatus == TokenStatus.Unknown ||
                    (!OAuth.AccountData?.UploadTokens.Contains(token) ?? false))
                {
                    await Api.UpdateTokenStatus();
                }
                token = Account.UploadToken;
                if (Account.TokenStatus == TokenStatus.Unclaimed &&
                    !string.IsNullOrEmpty(token))
                {
                    await OAuth.ClaimUploadToken(token);
                }
            }
            else
            {
                await Api.UpdateTokenStatus();
            }
        }