private void UpdateEncodedReport()
{
if (!this.CheckDmAvailable())
{
this.CanSendByDM = false;
return;
}
var body = $"Anonymous: {this.AnonymousReport}" + Environment.NewLine + this.ReportText;
var originalBytes = Encoding.UTF8.GetBytes(body);
using (var outputStream = new MemoryStream())
{
using (var gzipStream = new GZipStream(outputStream, CompressionMode.Compress, leaveOpen: true))
{
gzipStream.Write(originalBytes, 0, originalBytes.Length);
}
var encodedReport = Convert.ToBase64String(outputStream.ToArray());
var destScreenName = ApplicationSettings.FeedbackTwitterName.Substring(1);
this.EncodedReportForDM = $"D {destScreenName} ErrorReport: {encodedReport}";
}
this.CanSendByDM = this.tw.GetTextLengthRemain(this.EncodedReportForDM) >= 0;
}