Revision ce32510a ChatSecure/Classes/Controllers/OTRMediaFileManager.m

View differences:

ChatSecure/Classes/Controllers/OTRMediaFileManager.m
128 128
    }];
129 129
}
130 130

  
131
//#865
132
- (void)deleteDataForItem:(OTRMediaItem *)mediaItem
133
            buddyUniqueId:(NSString *)buddyUniqueId
134
               completion:(void (^)(BOOL success, NSError * _Nullable error))completion
135
          completionQueue:(nullable dispatch_queue_t)completionQueue {
136
    if (!completionQueue) {
137
        completionQueue = dispatch_get_main_queue();
138
    }
139
    [self performAsyncWrite:^{
140
        NSString *path = [[self class] pathForMediaItem:mediaItem buddyUniqueId:buddyUniqueId];
141
        if (![path length]) {
142
            NSError *error = [NSError errorWithDomain:kOTRErrorDomain code:150 userInfo:@{NSLocalizedDescriptionKey:@"Unable to create file path"}];
143
            if (completion) {
144
                dispatch_async(completionQueue, ^{
145
                    completion(NO, error);
146
                });
147
            }
148
            return;
149
        }
150
        
151
        BOOL fileExists = [self.ioCipher fileExistsAtPath:path isDirectory:NULL];
152
        
153
        if (fileExists) {
154
            NSError *error = nil;
155
            [self.ioCipher removeItemAtPath:path error:&error];
156
            if (error) {
157
                NSError *error = [NSError errorWithDomain:kOTRErrorDomain code:151 userInfo:@{NSLocalizedDescriptionKey:@"Unable to remove existing file"}];
158
                if (completion) {
159
                    dispatch_async(completionQueue, ^{
160
                        completion(NO, error);
161
                    });
162
                }
163
                return;
164
            }
165
        }
166
        
167
        if (completion) {
168
            dispatch_async(completionQueue, ^{
169
                completion(YES, nil);
170
            });
171
        }
172
    }];
173
}
174

  
131 175
/* Internal. If "length" is set, only return the length of the data, otherwise the data ifself */
132 176
- (nullable NSData*)dataForItem:(OTRMediaItem *)mediaItem
133 177
                  buddyUniqueId:(NSString *)buddyUniqueId

Also available in: Unified diff