2013-01-18 12:14:03 -08:00
|
|
|
using System.Text;
|
|
|
|
|
2010-02-05 11:52:53 -08:00
|
|
|
/*
|
2013-01-18 12:14:03 -08:00
|
|
|
* Copyright 2008 ZXing authors
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
2010-02-05 11:52:53 -08:00
|
|
|
namespace com.google.zxing.client.result
|
|
|
|
{
|
2013-01-18 12:14:03 -08:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// @author Sean Owen
|
|
|
|
/// </summary>
|
|
|
|
public sealed class SMSParsedResult : ParsedResult
|
2010-02-05 11:52:53 -08:00
|
|
|
{
|
2013-01-18 12:14:03 -08:00
|
|
|
|
|
|
|
private readonly string[] numbers;
|
|
|
|
private readonly string[] vias;
|
|
|
|
private readonly string subject;
|
|
|
|
private readonly string body;
|
|
|
|
|
|
|
|
public SMSParsedResult(string number, string via, string subject, string body) : base(ParsedResultType.SMS)
|
|
|
|
{
|
|
|
|
this.numbers = new string[] {number};
|
|
|
|
this.vias = new string[] {via};
|
|
|
|
this.subject = subject;
|
|
|
|
this.body = body;
|
|
|
|
}
|
|
|
|
|
|
|
|
public SMSParsedResult(string[] numbers, string[] vias, string subject, string body) : base(ParsedResultType.SMS)
|
|
|
|
{
|
|
|
|
this.numbers = numbers;
|
|
|
|
this.vias = vias;
|
|
|
|
this.subject = subject;
|
|
|
|
this.body = body;
|
|
|
|
}
|
|
|
|
|
|
|
|
public string SMSURI
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
StringBuilder result = new StringBuilder();
|
|
|
|
result.Append("sms:");
|
|
|
|
bool first = true;
|
|
|
|
for (int i = 0; i < numbers.Length; i++)
|
2010-02-05 11:52:53 -08:00
|
|
|
{
|
2013-01-18 12:14:03 -08:00
|
|
|
if (first)
|
|
|
|
{
|
|
|
|
first = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
result.Append(',');
|
|
|
|
}
|
|
|
|
result.Append(numbers[i]);
|
|
|
|
if (vias != null && vias[i] != null)
|
|
|
|
{
|
|
|
|
result.Append(";via=");
|
|
|
|
result.Append(vias[i]);
|
|
|
|
}
|
2010-02-05 11:52:53 -08:00
|
|
|
}
|
2013-01-18 12:14:03 -08:00
|
|
|
bool hasBody = body != null;
|
|
|
|
bool hasSubject = subject != null;
|
|
|
|
if (hasBody || hasSubject)
|
2010-02-05 11:52:53 -08:00
|
|
|
{
|
2013-01-18 12:14:03 -08:00
|
|
|
result.Append('?');
|
|
|
|
if (hasBody)
|
|
|
|
{
|
|
|
|
result.Append("body=");
|
|
|
|
result.Append(body);
|
|
|
|
}
|
|
|
|
if (hasSubject)
|
|
|
|
{
|
|
|
|
if (hasBody)
|
|
|
|
{
|
|
|
|
result.Append('&');
|
|
|
|
}
|
|
|
|
result.Append("subject=");
|
|
|
|
result.Append(subject);
|
|
|
|
}
|
2010-02-05 11:52:53 -08:00
|
|
|
}
|
2013-01-18 12:14:03 -08:00
|
|
|
return result.ToString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public string[] Numbers
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return numbers;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public string[] Vias
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return vias;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public string Subject
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return subject;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public string Body
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return body;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override string DisplayResult
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
StringBuilder result = new StringBuilder(100);
|
|
|
|
maybeAppend(numbers, result);
|
|
|
|
maybeAppend(subject, result);
|
|
|
|
maybeAppend(body, result);
|
|
|
|
return result.ToString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-02-05 11:52:53 -08:00
|
|
|
}
|
|
|
|
}
|