Fix crash

pull/26/head
Niels Andriesse 6 years ago
parent 30c02207d3
commit 845c4f700a

@ -2586,3 +2586,4 @@
"%@'s friend request has expired" = "%@'s friend request has expired";
"Your friend request to %@ has expired" = "Your friend request to %@ has expired";
"Show Seed" = "Show Seed";
"Your Seed" = "Your Seed";

@ -1441,7 +1441,7 @@ typedef void (^ProfileManagerFailureBlock)(NSError *error);
- (nullable NSData *)loadProfileDataWithFilename:(NSString *)filename
{
OWSAssertDebug(filename.length > 0);
if (filename.length <= 0) { return nil; };
NSString *filePath = [OWSUserProfile profileAvatarFilepathWithFilename:filename];
return [NSData dataWithContentsOfFile:filePath];
@ -1473,7 +1473,7 @@ typedef void (^ProfileManagerFailureBlock)(NSError *error);
- (void)updateProfileAvatarCache:(nullable UIImage *)image filename:(NSString *)filename
{
OWSAssertDebug(filename.length > 0);
if (filename.length <= 0) { return; };
@synchronized(self.profileAvatarImageCache)
{

@ -37,7 +37,7 @@ extern NSString *const kLocalProfileUniqueId;
+ (OWSUserProfile *)getOrBuildUserProfileForRecipientId:(NSString *)recipientId
dbConnection:(YapDatabaseConnection *)dbConnection;
+ (OWSUserProfile *)getOrBuildUserProfileForRecipientId:(NSString *)recipientId transaction:(YapDatabaseReadTransaction *)transaction;
+ (OWSUserProfile *)getOrBuildUserProfileForRecipientId:(NSString *)recipientId transaction:(YapDatabaseReadWriteTransaction *)transaction;
+ (BOOL)localUserProfileExists:(YapDatabaseConnection *)dbConnection;

@ -55,13 +55,13 @@ NSString *const kLocalProfileUniqueId = @"kLocalProfileUniqueId";
dbConnection:(YapDatabaseConnection *)dbConnection
{
__block OWSUserProfile *userProfile;
[dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
[dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
userProfile = [OWSUserProfile getOrBuildUserProfileForRecipientId:recipientId transaction:transaction];
}];
return userProfile;
}
+ (OWSUserProfile *)getOrBuildUserProfileForRecipientId:(NSString *)recipientId transaction:(YapDatabaseReadTransaction *)transaction
+ (OWSUserProfile *)getOrBuildUserProfileForRecipientId:(NSString *)recipientId transaction:(YapDatabaseReadWriteTransaction *)transaction
{
OWSAssertDebug(recipientId.length > 0);
@ -72,7 +72,7 @@ NSString *const kLocalProfileUniqueId = @"kLocalProfileUniqueId";
if ([recipientId isEqualToString:kLocalProfileUniqueId]) {
[userProfile updateWithProfileKey:[OWSAES256Key generateRandomKey]
dbConnection:transaction.connection
transaction:transaction
completion:nil];
}
}
@ -364,6 +364,15 @@ NSString *const kLocalProfileUniqueId = @"kLocalProfileUniqueId";
- (void)updateWithProfileKey:(OWSAES256Key *)profileKey
dbConnection:(YapDatabaseConnection *)dbConnection
completion:(nullable OWSUserProfileCompletion)completion
{
[dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[self updateWithProfileKey:profileKey transaction:transaction completion:completion];
}];
}
- (void)updateWithProfileKey:(OWSAES256Key *)profileKey
transaction:(YapDatabaseReadWriteTransaction *)transaction
completion:(nullable OWSUserProfileCompletion)completion
{
OWSAssertDebug(profileKey);
@ -371,7 +380,7 @@ NSString *const kLocalProfileUniqueId = @"kLocalProfileUniqueId";
[userProfile setProfileKey:profileKey];
}
functionName:__PRETTY_FUNCTION__
dbConnection:dbConnection
transaction:transaction
completion:completion];
}
@ -438,7 +447,7 @@ NSString *const kLocalProfileUniqueId = @"kLocalProfileUniqueId";
+ (NSString *)profileAvatarFilepathWithFilename:(NSString *)filename
{
OWSAssertDebug(filename.length > 0);
if (filename.length <= 0) { return @""; };
return [self.profileAvatarsDirPath stringByAppendingPathComponent:filename];
}

@ -1104,7 +1104,7 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
[ProtoUtils addLocalProfileKeyIfNecessary:self.thread recipientId:recipientId dataMessageBuilder:builder];
id<ProfileManagerProtocol> profileManager = SSKEnvironment.shared.profileManager;
NSString *displayName = [profileManager localProfileName];
NSString *displayName = profileManager.localProfileName;
if (displayName != nil) {
SSKProtoDataMessageContactBuilder *profileBuilder = [SSKProtoDataMessageContact builder];
SSKProtoDataMessageContactNameBuilder *nameBuilder = [SSKProtoDataMessageContactName builder];

Loading…
Cancel
Save