Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisballinger committed Sep 7, 2013
2 parents bc7e787 + 366234f commit 5a94a20
Show file tree
Hide file tree
Showing 47 changed files with 130 additions and 51 deletions.
33 changes: 27 additions & 6 deletions Off the Record.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@
63483FE41752CED100779257 /* XMPPMessage+XEP_0308.m in Sources */ = {isa = PBXBuildFile; fileRef = 63483EFA1752CED100779257 /* XMPPMessage+XEP_0308.m */; };
63483FE51752CED100779257 /* DDList.m in Sources */ = {isa = PBXBuildFile; fileRef = 63483EFD1752CED100779257 /* DDList.m */; };
63483FE61752CED100779257 /* GCDMulticastDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 63483EFF1752CED100779257 /* GCDMulticastDelegate.m */; };
63483FE71752CED100779257 /* LibIDN.m in Sources */ = {isa = PBXBuildFile; fileRef = 63483F011752CED100779257 /* LibIDN.m */; };
63483FE81752CED100779257 /* RFImageToDataTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63483F031752CED100779257 /* RFImageToDataTransformer.m */; };
63483FE91752CED100779257 /* XMPPIDTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 63483F051752CED100779257 /* XMPPIDTracker.m */; };
63483FEA1752CED100779257 /* XMPPSRVResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = 63483F071752CED100779257 /* XMPPSRVResolver.m */; };
Expand Down Expand Up @@ -259,6 +258,7 @@
63F8A53316DD9B6F00374551 /* OTRIntSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63F8A53216DD9B6F00374551 /* OTRIntSettingViewController.m */; };
63FA108316F9290A00D9EE45 /* OTRImages.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FA108216F9290900D9EE45 /* OTRImages.m */; };
63FE64C61727535700876D15 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63FE64C51727535700876D15 /* StoreKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
63FEE8EB17C596B1009C9030 /* XMPPStringPrep.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FEE8EA17C596B1009C9030 /* XMPPStringPrep.m */; };
D90B80AC13FC719B006EFF3D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D90B80AB13FC719B006EFF3D /* CoreGraphics.framework */; };
D90B80AF13FC7E5F006EFF3D /* OTRCodec.m in Sources */ = {isa = PBXBuildFile; fileRef = D90B80AE13FC7E5F006EFF3D /* OTRCodec.m */; };
D90FAF2914A0624B00DA7C56 /* OTRBuddyList.m in Sources */ = {isa = PBXBuildFile; fileRef = D90FAF2814A0624B00DA7C56 /* OTRBuddyList.m */; };
Expand Down Expand Up @@ -766,8 +766,6 @@
63483EFD1752CED100779257 /* DDList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDList.m; sourceTree = "<group>"; };
63483EFE1752CED100779257 /* GCDMulticastDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDMulticastDelegate.h; sourceTree = "<group>"; };
63483EFF1752CED100779257 /* GCDMulticastDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDMulticastDelegate.m; sourceTree = "<group>"; };
63483F001752CED100779257 /* LibIDN.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LibIDN.h; sourceTree = "<group>"; };
63483F011752CED100779257 /* LibIDN.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LibIDN.m; sourceTree = "<group>"; };
63483F021752CED100779257 /* RFImageToDataTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RFImageToDataTransformer.h; sourceTree = "<group>"; };
63483F031752CED100779257 /* RFImageToDataTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RFImageToDataTransformer.m; sourceTree = "<group>"; };
63483F041752CED100779257 /* XMPPIDTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMPPIDTracker.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -820,6 +818,12 @@
6352DC8B15AFB252007AD0B4 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
6352DC8E15AFB3D2007AD0B4 /* facebook.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = facebook.png; sourceTree = "<group>"; };
6352DC8F15AFB3D2007AD0B4 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
636BDD6917D929FE00861A9A /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = "Off the Record/cs.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; };
636BDD6B17D92A1700861A9A /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = "Off the Record/el.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; };
636BDD6C17D92A2500861A9A /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = "Off the Record/id.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; };
636BDD6D17D92A3B00861A9A /* nl_NL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl_NL; path = "Off the Record/nl_NL.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; };
636BDD6E17D92A4F00861A9A /* pt_PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_PT; path = "Off the Record/pt_PT.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; };
636BDD6F17D92A5C00861A9A /* ro_RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro_RO; path = "Off the Record/ro_RO.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; };
636FE4B1161B76CF002B28EF /* OTRFacebookLoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OTRFacebookLoginViewController.h; sourceTree = "<group>"; };
636FE4B2161B76CF002B28EF /* OTRFacebookLoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTRFacebookLoginViewController.m; sourceTree = "<group>"; };
636FE4B4161B76EA002B28EF /* OTRGoogleTalkLoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OTRGoogleTalkLoginViewController.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -964,6 +968,8 @@
63FAEEDA16B7553E004F1205 /* OTRXMPPBudyTimers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTRXMPPBudyTimers.m; sourceTree = "<group>"; };
63FE64C3172750C700876D15 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/AppiraterLocalizable.strings; sourceTree = "<group>"; };
63FE64C51727535700876D15 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
63FEE8E917C596B1009C9030 /* XMPPStringPrep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMPPStringPrep.h; sourceTree = "<group>"; };
63FEE8EA17C596B1009C9030 /* XMPPStringPrep.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMPPStringPrep.m; sourceTree = "<group>"; };
D902D31C141E930C00AA3479 /* OTROldBuddy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OTROldBuddy.h; sourceTree = "<group>"; };
D902D31D141E930C00AA3479 /* OTROldBuddy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTROldBuddy.m; sourceTree = "<group>"; };
D9042E2C153168BE000D264C /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = "Off the Record/zh_CN.lproj/InfoPlist.strings"; sourceTree = SOURCE_ROOT; };
Expand Down Expand Up @@ -2026,8 +2032,8 @@
63483EFD1752CED100779257 /* DDList.m */,
63483EFE1752CED100779257 /* GCDMulticastDelegate.h */,
63483EFF1752CED100779257 /* GCDMulticastDelegate.m */,
63483F001752CED100779257 /* LibIDN.h */,
63483F011752CED100779257 /* LibIDN.m */,
63FEE8E917C596B1009C9030 /* XMPPStringPrep.h */,
63FEE8EA17C596B1009C9030 /* XMPPStringPrep.m */,
63483F021752CED100779257 /* RFImageToDataTransformer.h */,
63483F031752CED100779257 /* RFImageToDataTransformer.m */,
63483F041752CED100779257 /* XMPPIDTracker.h */,
Expand Down Expand Up @@ -3059,6 +3065,15 @@
zh_TW,
pt_BR,
no,
el,
id,
nl_NL,
pt_PT,
ro_RO,
"ro-RO",
"pt-PT",
"nl-NL",
"pt-BR",
);
mainGroup = D9F9376D13F44BD3009A3D84;
productRefGroup = D9F9377913F44BD3009A3D84 /* Products */;
Expand Down Expand Up @@ -3545,7 +3560,6 @@
63483FE41752CED100779257 /* XMPPMessage+XEP_0308.m in Sources */,
63483FE51752CED100779257 /* DDList.m in Sources */,
63483FE61752CED100779257 /* GCDMulticastDelegate.m in Sources */,
63483FE71752CED100779257 /* LibIDN.m in Sources */,
63483FE81752CED100779257 /* RFImageToDataTransformer.m in Sources */,
63483FE91752CED100779257 /* XMPPIDTracker.m in Sources */,
63483FEA1752CED100779257 /* XMPPSRVResolver.m in Sources */,
Expand All @@ -3561,6 +3575,7 @@
6348401A1752CED100779257 /* DDXMLDocument.m in Sources */,
6348401B1752CED100779257 /* DDXMLElement.m in Sources */,
6348401C1752CED100779257 /* DDXMLNode.m in Sources */,
63FEE8EB17C596B1009C9030 /* XMPPStringPrep.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -3655,6 +3670,12 @@
63EB094A17274AA2000FACDC /* es */,
63EB094B17274B24000FACDC /* sv */,
63E6BB741752D92F0070EC47 /* no */,
636BDD6917D929FE00861A9A /* cs */,
636BDD6B17D92A1700861A9A /* el */,
636BDD6C17D92A2500861A9A /* id */,
636BDD6D17D92A3B00861A9A /* nl_NL */,
636BDD6E17D92A4F00861A9A /* pt_PT */,
636BDD6F17D92A5C00861A9A /* ro_RO */,
);
name = Localizable.strings;
sourceTree = "<group>";
Expand Down
12 changes: 12 additions & 0 deletions Off the Record/.tx/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[main]
host = https://www.transifex.com

[chatsecure.strings]
source_lang = en_US
source_file = en/Localizable.strings
file_filter = <lang>.lproj/Localizable.strings

[chatsecure.appstorestrings]
source_lang = en_US
source_file = en/AppStore.strings
file_filter = <lang>.lproj/AppStore.strings
4 changes: 3 additions & 1 deletion Off the Record/OTRBuddyListViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -351,11 +351,13 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
else if([self.groupManager numberOfGroups] >= indexPath.section){
managedBuddy = [self.groupManager buddyAtIndexPath:[NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section-1]];
}
else {
managedBuddy = [self.offlineBuddiesFetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForItem:indexPath.row inSection:0]];
}

if (managedBuddy) {
[self enterConversationWithBuddy:managedBuddy];
}


if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
Expand Down
1 change: 1 addition & 0 deletions Off the Record/OTRChatViewController.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
UIImage *_messageBubbleComposing;
CGFloat _previousTextViewContentHeight;
CGFloat _messageFontSize;
int currentEncryptionStatus;
}


Expand Down
64 changes: 45 additions & 19 deletions Off the Record/OTRChatViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ - (void)didReceiveMemoryWarning

-(void)setupLockButton
{
currentEncryptionStatus = -1;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *buttonImage = [UIImage imageNamed:@"Lock_Locked.png"];
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
Expand Down Expand Up @@ -139,29 +140,31 @@ -(void)setupLockButton
-(void)refreshLockButton
{
BOOL trusted = [[OTRKit sharedInstance] finerprintIsVerifiedForUsername:buddy.accountName accountName:buddy.account.username protocol:buddy.account.protocol];
int16_t currentEncryptionStatus = [self.buddy currentEncryptionStatus].statusValue;

if(currentEncryptionStatus == kOTRKitMessageStateEncrypted && trusted)
{
self.navigationItem.rightBarButtonItem = lockVerifiedButton;
}
else if(currentEncryptionStatus == kOTRKitMessageStateEncrypted)
{
self.navigationItem.rightBarButtonItem = lockButton;
}
else
{
self.navigationItem.rightBarButtonItem = unlockedButton;
if (currentEncryptionStatus != [self.buddy currentEncryptionStatus].statusValue) {
currentEncryptionStatus = [self.buddy currentEncryptionStatus].statusValue;

if(currentEncryptionStatus == kOTRKitMessageStateEncrypted && trusted)
{
self.navigationItem.rightBarButtonItem = lockVerifiedButton;
}
else if(currentEncryptionStatus == kOTRKitMessageStateEncrypted)
{
self.navigationItem.rightBarButtonItem = lockButton;
}
else
{
self.navigationItem.rightBarButtonItem = unlockedButton;
}
self.navigationItem.rightBarButtonItem.accessibilityLabel = @"lock";
}
self.navigationItem.rightBarButtonItem.accessibilityLabel = @"lock";
}

-(void)lockButtonPressed
{
NSString *encryptionString = INITIATE_ENCRYPTED_CHAT_STRING;
NSString * verifiedString = VERIFY_STRING;

int16_t currentEncryptionStatus = [self.buddy currentEncryptionStatus].statusValue;
currentEncryptionStatus = [self.buddy currentEncryptionStatus].statusValue;

if (currentEncryptionStatus == kOTRKitMessageStateEncrypted) {
encryptionString = CANCEL_ENCRYPTED_CHAT_STRING;
Expand Down Expand Up @@ -555,8 +558,18 @@ - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger
OTRManagedBuddy* theBuddy = buddy;
OTRManagedMessage * newMessage = [OTRManagedMessage newMessageToBuddy:theBuddy message:@"" encrypted:YES];
//OTRManagedMessage *encodedMessage = [OTRCodec encodeMessage:newMessage];
[OTRCodec encodeMessage:newMessage completion:^(OTRManagedMessage *message) {
[OTRManagedMessage sendMessage:message];
[OTRCodec encodeMessage:newMessage startGeneratingKeysBlock:^{
//display activity
NSLog(@"Generating key");
dispatch_async(dispatch_get_main_queue(), ^{
[self addLockSpinner];
});
} completion:^(OTRManagedMessage *message) {
dispatch_async(dispatch_get_main_queue(), ^{
[self removeLockSpinner];
[OTRManagedMessage sendMessage:message];
});

}];

}
Expand All @@ -571,6 +584,18 @@ - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger
}
}

-(void)addLockSpinner {
UIActivityIndicatorView * activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)];
[activityIndicatorView sizeToFit];
[activityIndicatorView setAutoresizingMask:(UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin)];
UIBarButtonItem * activityBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicatorView];
[activityIndicatorView startAnimating];
self.navigationItem.rightBarButtonItem = activityBarButtonItem;
}
-(void)removeLockSpinner {
//[self refreshLockButton];
}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex == 1 && alertView.tag == ALERTVIEW_NOT_VERIFIED_TAG)
Expand Down Expand Up @@ -629,6 +654,7 @@ - (void) refreshView {
[self textViewDidChange:textView];

[self scrollToBottomAnimated:NO];
currentEncryptionStatus = [self.buddy currentEncryptionStatus].statusValue;
[self refreshLockButton];
}

Expand Down Expand Up @@ -843,10 +869,10 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS

if ([messageOrStatus isKindOfClass:[OTRManagedStatus class]]) {
if (managedStatus.isIncomingValue) {
cellText = [NSString stringWithFormat:@"New Status Message: %@",managedStatus.message];
cellText = [NSString stringWithFormat:INCOMING_STATUS_MESSAGE,managedStatus.message];
}
else{
cellText = [NSString stringWithFormat:@"You are: %@",managedStatus.message];
cellText = [NSString stringWithFormat:YOUR_STATUS_MESSAGE,managedStatus.message];
}
}
else{
Expand Down
2 changes: 1 addition & 1 deletion Off the Record/OTRCodec.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
@interface OTRCodec : NSObject

+(void) decodeMessage:(OTRManagedMessage*)theMessage;
+(void) encodeMessage:(OTRManagedMessage*)theMessage completion:(void (^)(OTRManagedMessage * message))completionBlock;
+(void)encodeMessage:(OTRManagedMessage *)theMessage startGeneratingKeysBlock:(void (^)(void))generatingKeysBlock completion:(void (^)(OTRManagedMessage * message))completionBlock;
+(OTRManagedMessage*) encodeMessage:(OTRManagedMessage*)theMessage;

@end
8 changes: 4 additions & 4 deletions Off the Record/OTRCodec.m
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ +(void) decodeMessage:(OTRManagedMessage*)theMessage;
[theMessage.buddy setNewEncryptionStatus:messageState];
}

+(void) encodeMessage:(OTRManagedMessage*)theMessage completion:(void (^)(OTRManagedMessage * message))completionBlock


+(void)encodeMessage:(OTRManagedMessage *)theMessage startGeneratingKeysBlock:(void (^)(void))generatingKeysBlock completion:(void (^)(OTRManagedMessage *))completionBlock
{
NSString *message = theMessage.message;
NSString *recipientAccount = theMessage.buddy.accountName;
Expand All @@ -62,7 +64,7 @@ +(void) encodeMessage:(OTRManagedMessage*)theMessage completion:(void (^)(OTRMan
//theMessage.isEncryptedValue = NO;

//NSString *encodedMessageString = [[OTRKit sharedInstance] encodeMessage:message recipient:recipientAccount accountName:sendingAccount protocol:protocol];
[[OTRKit sharedInstance] encodeMessage:message recipient:recipientAccount accountName:sendingAccount protocol:protocol success:^(NSString *message) {
[[OTRKit sharedInstance] encodeMessage:message recipient:recipientAccount accountName:sendingAccount protocol:protocol startGeneratingKeysBlock:generatingKeysBlock success:^(NSString *message) {
OTRManagedMessage *newOTRMessage = [OTRManagedMessage newMessageToBuddy:theMessage.buddy message:message encrypted:YES];
newOTRMessage.date = theMessage.date;
newOTRMessage.uniqueID = theMessage.uniqueID;
Expand All @@ -76,8 +78,6 @@ +(void) encodeMessage:(OTRManagedMessage*)theMessage completion:(void (^)(OTRMan
}

}];


}


Expand Down
2 changes: 2 additions & 0 deletions Off the Record/OTRLanguageManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ -(NSArray *)supportedLanguages
{
NSMutableArray *languages = [[NSMutableArray alloc] init];



NSString * resourcePath = [[NSBundle mainBundle] pathForResource:@"supportedLanguages" ofType:@"plist" inDirectory:nil forLocalization:nil];
NSArray * twoLetterLanguages = [NSArray arrayWithContentsOfFile:resourcePath];

Expand Down
4 changes: 2 additions & 2 deletions Off the Record/OTRManagedBuddy.m
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ -(void)sendMessage:(NSString *)message secure:(BOOL)secure
if(secure)
{
encodedMessage = [OTRCodec encodeMessage:newMessage];
[OTRCodec encodeMessage:newMessage completion:^(OTRManagedMessage *message) {
[OTRCodec encodeMessage:newMessage startGeneratingKeysBlock:nil completion:^(OTRManagedMessage *message) {
[OTRManagedMessage sendMessage:message];
self.lastSentChatStateValue=kOTRChatStateActive;
}];
Expand Down Expand Up @@ -238,7 +238,7 @@ -(OTRManagedStatus *)currentStatusMessage
if ([sortedStatuses count]) {
return sortedStatuses[0];
}
return [OTRManagedStatus newStatus:kOTRBuddyStatusOffline withMessage:nil withBuddy:self incoming:NO];
return [OTRManagedStatus newStatus:kOTRBuddyStatusOffline withMessage:nil withBuddy:self incoming:YES];


}
Expand Down
2 changes: 1 addition & 1 deletion Off the Record/OTRManagedMessage.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

- (void) send;

+(OTRManagedMessage*)newMessageFromBuddy:(OTRManagedBuddy *)theBuddy message:(NSString *)theMessage encrypted:(BOOL)encryptionStatus;
+(OTRManagedMessage*)newMessageFromBuddy:(OTRManagedBuddy *)theBuddy message:(NSString *)theMessage encrypted:(BOOL)encryptionStatus delayedDate:(NSDate *)date;
+(OTRManagedMessage *)newMessageToBuddy:(OTRManagedBuddy *)theBuddy message:(NSString *)theMessage encrypted:(BOOL)encryptionStatus;
+(void)sendMessage:(OTRManagedMessage *)message;
+(void)receiveMessage:(NSString *)objectIDString;
Expand Down
Loading

0 comments on commit 5a94a20

Please sign in to comment.