Changeset 23365
- Timestamp:
- 05/08/2008 11:54:09 PM (7 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Plugins/Facebook Service/AIFacebookBuddyIconRequest.h
r23362 r23365 16 16 } 17 17 18 + (void)retrieveBuddyIconForContact:(AIListContact *)inContact fromURL:(NSURL *)inURL;18 + (void)retrieveBuddyIconForContact:(AIListContact *)inContact withThumbSrc:(NSString *)thumbSrc; 19 19 20 20 @end trunk/Plugins/Facebook Service/AIFacebookBuddyIconRequest.m
r23362 r23365 10 10 11 11 @interface AIFacebookBuddyIconRequest (PRIVATE) 12 - (id)initForContact:(AIListContact *)inContact fromURL:(NSURL *)inURL;12 - (id)initForContact:(AIListContact *)inContact withThumbSrc:(NSString *)thumbSrc; 13 13 @end 14 14 15 15 @implementation AIFacebookBuddyIconRequest 16 16 17 + (void)retrieveBuddyIconForContact:(AIListContact *)inContact fromURL:(NSURL *)inURL17 + (void)retrieveBuddyIconForContact:(AIListContact *)inContact withThumbSrc:(NSString *)thumbSrc 18 18 { 19 19 //Will release ourselves when done 20 [[self alloc] initForContact:inContact fromURL:inURL];20 [[self alloc] initForContact:inContact withThumbSrc:thumbSrc]; 21 21 } 22 22 23 - (id)initForContact:(AIListContact *)inContact fromURL:(NSURL *)inURL23 - (id)initForContact:(AIListContact *)inContact withThumbSrc:(NSString *)thumbSrc 24 24 { 25 25 if ((self = [super init])) { … … 27 27 receivedData = [[NSMutableData alloc] init]; 28 28 29 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:inURL 29 NSURL *URL; 30 NSMutableString *fileName = [[thumbSrc lastPathComponent] mutableCopy]; 31 32 /* The file name starts with a 'q' for the small thumbnail and with an 'n' for a higher-resolution one */ 33 [fileName replaceOccurrencesOfString:@"q" 34 withString:@"n" 35 options:NSLiteralSearch 36 range:NSMakeRange(0, 1)]; 37 38 URL = [NSURL URLWithString:[[thumbSrc stringByDeletingLastPathComponent] stringByAppendingPathComponent:fileName]]; 39 [fileName release]; 40 41 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL 30 42 cachePolicy:NSURLRequestUseProtocolCachePolicy 31 43 timeoutInterval:120]; trunk/Plugins/Facebook Service/AIFacebookBuddyListManager.m
r23362 r23365 60 60 NSDictionary *dict = [userInfos objectForKey:contactUID]; 61 61 NSString *name = [dict objectForKey:@"name"]; 62 NSString *firstName = [dict objectForKey:@"firstName"]; 62 /* 63 NSString *firstName = [dict objectForKey:@"firstName"]; 64 if ([firstName isKindOfClass:[NSNull class]]) firstName = nil; 65 */ 63 66 NSString *status = [dict objectForKey:@"status"]; 64 NSString *statusTime = [dict objectForKey:@"statusTime"]; 67 /* 68 NSString *statusTime = [dict objectForKey:@"statusTime"]; 69 if ([statusTime isKindOfClass:[NSNull class]]) statusTime = nil; 70 NSDate *dateStatusLastChanged = (statusTime ? 71 [NSDate dateWithTimeIntervalSince1970:([statusTime intValue])] : 72 nil); 73 */ 65 74 NSString *pictureSrc = [dict objectForKey:@"thumbSrc"]; 66 75 67 76 //The parser gives us NSNull in place of a string if there is a nil value 68 77 if ([name isKindOfClass:[NSNull class]]) name = nil; 69 if ([firstName isKindOfClass:[NSNull class]]) firstName = nil;70 78 if ([status isKindOfClass:[NSNull class]]) status = nil; 71 if ([statusTime isKindOfClass:[NSNull class]]) statusTime = nil;72 79 73 NSDate *idleSince = (statusTime ?74 [NSDate dateWithTimeIntervalSince1970:([statusTime intValue])] :75 nil);76 80 [listContact setFormattedUID:name notify:NotifyLater]; 77 [listContact setServersideAlias:firstName asStatusMessage:NO silently:YES];78 81 [listContact setStatusMessage:(status ? 79 82 [[[NSAttributedString alloc] initWithString:status] autorelease] : … … 81 84 notify:NotifyLater]; 82 85 [listContact setIdle:[[[nowAvailableList objectForKey:contactUID] objectForKey:@"i"] boolValue] 83 sinceDate: idleSince86 sinceDate:nil 84 87 notify:NotifyLater]; 85 88 86 89 if (pictureSrc) 87 90 [AIFacebookBuddyIconRequest retrieveBuddyIconForContact:listContact 88 fromURL:[NSURL URLWithString:pictureSrc]];91 withThumbSrc:pictureSrc]; 89 92 90 93 [listContact setRemoteGroupName:@"Facebook"];