5 // Created by Christian Brunschen on 16/06/2008.
7 * Copyright 2008 ZXing authors
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
24 // currently, including a message body makes the iPhone not actually
25 // go to compose an SMS at all, just start the SMS app. Bummer.
26 #ifdef SMS_URL_INCLUDE_BODY
27 #undef SMS_URL_INCLUDE_BODY
30 @implementation SMSAction
34 + (NSURL *)urlForNumber:(NSString *)number withBody:(NSString *)body {
36 #ifdef SMS_URL_INCLUDE_BODY
37 (body && [body length]) ?
38 [NSString stringWithFormat:@"sms:%@?body=%@", number, [body stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] :
40 [NSString stringWithFormat:@"sms:%@", number];
41 return [NSURL URLWithString:urlString];
44 - initWithNumber:(NSString *)n body:(NSString *)b {
45 if ((self = [super initWithURL:[[self class] urlForNumber:n withBody:b]]) != nil) {
52 - initWithNumber:(NSString *)n {
53 return [self initWithNumber:n body:nil];
56 + actionWithNumber:(NSString *)number body:(NSString *)body {
57 return [[[self alloc] initWithNumber:number body:body] autorelease];
60 + actionWithNumber:(NSString *)number {
61 return [self actionWithNumber:number body:nil];
65 return [NSString localizedStringWithFormat:NSLocalizedString(@"Compose SMS to %@", @"action title"), self.number];
68 - (NSString *)alertTitle {
69 return NSLocalizedString(@"Compose", @"alert title");
72 - (NSString *)alertMessage {
73 return [NSString localizedStringWithFormat:NSLocalizedString(@"Compose SMS to %@?", @"alert message"), self.number];
76 - (NSString *)alertButtonTitle {
77 return NSLocalizedString(@"Compose", @"alert button title");