Skip to content

Commit de3a91a

Browse files
committed
Clean up logs. Add braces for clarity.
1 parent ac28e38 commit de3a91a

File tree

2 files changed

+81
-97
lines changed

2 files changed

+81
-97
lines changed

Sources/BranchSDK/BNCApplication.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
@implementation BNCApplication
2222

2323
// BNCApplication checks a few values in keychain
24-
// Checking keychain from main thread early in the app lifecycle can deadlock. INTENG-7291
24+
// Checking keychain from main thread early in the app lifecycle can deadlock. INTENG-7291
2525
+ (void)loadCurrentApplicationWithCompletion:(void (^)(BNCApplication *application))completion {
2626
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
2727
BNCApplication *tmp = [BNCApplication currentApplication];
@@ -78,7 +78,7 @@ + (NSDate *)currentBuildDate {
7878
// path to the app on device. file:///private/var/containers/Bundle/Application/GUID
7979
appURL = [bundleURL URLByAppendingPathComponent:appName];
8080
} else {
81-
// This else block is probably no longer necessary
81+
// TODO: Why is this fallback necessary? The NSBundle approach has been available since iOS 2.0
8282
// path to old app location, this symlinks to the new location. file:///var/containers/Bundle/Application/GUID
8383
NSString *path = [[NSProcessInfo processInfo].arguments firstObject];
8484
if (path) {

Sources/BranchSDK/BNCEncodingUtils.m

Lines changed: 79 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,8 @@ + (NSString *)encodeDictionaryToJsonString:(NSDictionary *)dictionary {
165165
NSMutableString *encodedDictionary = [[NSMutableString alloc] initWithString:@"{"];
166166
for (NSString *key in dictionary) {
167167

168-
// protect against non-string keys
169168
if (![key isKindOfClass:[NSString class]]) {
170-
[[BranchLogger shared] logError:[NSString stringWithFormat:@"Unexpected key type %@. Skipping key.", [key class]] error:nil];
169+
[[BranchLogger shared] logWarning:[NSString stringWithFormat:@"Ignoring unexpected key type %@", [key class]] error:nil];
171170
continue;
172171
}
173172

@@ -177,38 +176,30 @@ + (NSString *)encodeDictionaryToJsonString:(NSDictionary *)dictionary {
177176
id obj = dictionary[key];
178177
if ([obj isKindOfClass:[NSString class]]) {
179178
value = [BNCEncodingUtils sanitizedStringFromString:obj];
180-
}
181-
else if ([obj isKindOfClass:[NSURL class]]) {
179+
} else if ([obj isKindOfClass:[NSURL class]]) {
182180
value = [obj absoluteString];
183-
}
184-
else if ([obj isKindOfClass:[NSDate class]]) {
181+
} else if ([obj isKindOfClass:[NSDate class]]) {
185182
value = [BNCEncodingUtils iso8601StringFromDate:obj];
186-
}
187-
else if ([obj isKindOfClass:[NSArray class]]) {
183+
} else if ([obj isKindOfClass:[NSArray class]]) {
188184
value = [BNCEncodingUtils encodeArrayToJsonString:obj];
189185
string = NO;
190-
}
191-
else if ([obj isKindOfClass:[NSDictionary class]] || [obj isKindOfClass:[NSMutableDictionary class]]) {
186+
} else if ([obj isKindOfClass:[NSDictionary class]] || [obj isKindOfClass:[NSMutableDictionary class]]) {
192187
value = [BNCEncodingUtils encodeDictionaryToJsonString:obj];
193188
string = NO;
194-
}
195-
else if ([obj isKindOfClass:[NSNumber class]]) {
189+
} else if ([obj isKindOfClass:[NSNumber class]]) {
196190
string = NO;
197-
if (obj == (id)kCFBooleanFalse)
191+
if (obj == (id)kCFBooleanFalse) {
198192
value = @"false";
199-
else
200-
if (obj == (id)kCFBooleanTrue)
193+
} else if (obj == (id)kCFBooleanTrue) {
201194
value = @"true";
202-
else
195+
} else {
203196
value = [obj stringValue];
204-
}
205-
else if ([obj isKindOfClass:[NSNull class]]) {
197+
}
198+
} else if ([obj isKindOfClass:[NSNull class]]) {
206199
value = @"null";
207200
string = NO;
208-
}
209-
else {
210-
// If this type is not a known type, don't attempt to encode it.
211-
[[BranchLogger shared] logError:[NSString stringWithFormat:@"Cannot encode value for key %@. The value is not an accepted type.", key] error:nil];
201+
} else {
202+
[[BranchLogger shared] logWarning:[NSString stringWithFormat:@"Ignoring unexpected value type %@", [obj class]] error:nil];
212203
continue;
213204
}
214205

@@ -230,12 +221,11 @@ + (NSString *)encodeDictionaryToJsonString:(NSDictionary *)dictionary {
230221

231222
[encodedDictionary appendString:@"}"];
232223

233-
[[BranchLogger shared] logDebug:[NSString stringWithFormat:@"Encoded dictionary: %@.", encodedDictionary] error:nil];
224+
[[BranchLogger shared] logVerbose:[NSString stringWithFormat:@"Encoded dictionary: %@.", encodedDictionary] error:nil];
234225
return encodedDictionary;
235226
}
236227

237228
+ (NSString *)encodeArrayToJsonString:(NSArray *)array {
238-
// Empty array
239229
if (![array count]) {
240230
return @"[]";
241231
}
@@ -247,41 +237,31 @@ + (NSString *)encodeArrayToJsonString:(NSArray *)array {
247237

248238
if ([obj isKindOfClass:[NSString class]]) {
249239
value = [BNCEncodingUtils sanitizedStringFromString:obj];
250-
}
251-
else if ([obj isKindOfClass:[NSURL class]]) {
240+
} else if ([obj isKindOfClass:[NSURL class]]) {
252241
value = [obj absoluteString];
253-
}
254-
else if ([obj isKindOfClass:[NSDate class]]) {
242+
} else if ([obj isKindOfClass:[NSDate class]]) {
255243
value = [BNCEncodingUtils iso8601StringFromDate:obj];
256-
}
257-
else if ([obj isKindOfClass:[NSArray class]]) {
244+
} else if ([obj isKindOfClass:[NSArray class]]) {
258245
value = [BNCEncodingUtils encodeArrayToJsonString:obj];
259246
string = NO;
260-
}
261-
else if ([obj isKindOfClass:[NSDictionary class]] || [obj isKindOfClass:[NSMutableDictionary class]]) {
247+
} else if ([obj isKindOfClass:[NSDictionary class]] || [obj isKindOfClass:[NSMutableDictionary class]]) {
262248
value = [BNCEncodingUtils encodeDictionaryToJsonString:obj];
263249
string = NO;
264-
}
265-
else if ([obj isKindOfClass:[NSNumber class]]) {
250+
} else if ([obj isKindOfClass:[NSNumber class]]) {
266251
value = [obj stringValue];
267252
string = NO;
268-
}
269-
else if ([obj isKindOfClass:[NSNull class]]) {
253+
} else if ([obj isKindOfClass:[NSNull class]]) {
270254
value = @"null";
271255
string = NO;
272-
}
273-
else {
274-
// If this type is not a known type, don't attempt to encode it.
275-
[[BranchLogger shared] logError:[NSString stringWithFormat:@"Cannot encode value %@. The value is not an accepted type.", obj] error:nil];
256+
} else {
257+
[[BranchLogger shared] logWarning:[NSString stringWithFormat:@"Ignoring unexpected value type %@", [obj class]] error:nil];
276258
continue;
277259
}
278260

279-
// If this is a "string" object, wrap it in quotes
280261
if (string) {
262+
// quote strings
281263
[encodedArray appendFormat:@"\"%@\",", value];
282-
}
283-
// Otherwise, just add the raw value after the colon
284-
else {
264+
} else {
285265
[encodedArray appendFormat:@"%@,", value];
286266
}
287267
}
@@ -290,8 +270,7 @@ + (NSString *)encodeArrayToJsonString:(NSArray *)array {
290270
[encodedArray deleteCharactersInRange:NSMakeRange([encodedArray length] - 1, 1)];
291271
[encodedArray appendString:@"]"];
292272

293-
[[BranchLogger shared] logDebug:[NSString stringWithFormat:@"Encoded array: %@.", encodedArray] error:nil];
294-
273+
[[BranchLogger shared] logVerbose:[NSString stringWithFormat:@"Encoded array: %@.", encodedArray] error:nil];
295274
return encodedArray;
296275
}
297276

@@ -305,26 +284,20 @@ + (NSString *)encodeDictionaryToQueryString:(NSDictionary *)dictionary {
305284
NSMutableString *queryString = [[NSMutableString alloc] initWithString:@"?"];
306285

307286
for (NSString *key in [dictionary allKeys]) {
308-
// No empty keys, please.
309287
if (key.length) {
310288
id obj = dictionary[key];
311289
NSString *value;
312290

313291
if ([obj isKindOfClass:[NSString class]]) {
314292
value = [BNCEncodingUtils urlEncodedString:obj];
315-
}
316-
else if ([obj isKindOfClass:[NSURL class]]) {
293+
} else if ([obj isKindOfClass:[NSURL class]]) {
317294
value = [BNCEncodingUtils urlEncodedString:[obj absoluteString]];
318-
}
319-
else if ([obj isKindOfClass:[NSDate class]]) {
295+
} else if ([obj isKindOfClass:[NSDate class]]) {
320296
value = [BNCEncodingUtils iso8601StringFromDate:obj];
321-
}
322-
else if ([obj isKindOfClass:[NSNumber class]]) {
297+
} else if ([obj isKindOfClass:[NSNumber class]]) {
323298
value = [obj stringValue];
324-
}
325-
else {
326-
// If this type is not a known type, don't attempt to encode it.
327-
[[BranchLogger shared] logError:[NSString stringWithFormat:@"Cannot encode value %@. The value is not an accepted type.", obj] error:nil];
299+
} else {
300+
[[BranchLogger shared] logWarning:[NSString stringWithFormat:@"Ignoring unexpected value type %@", [obj class]] error:nil];
328301
continue;
329302
}
330303

@@ -334,29 +307,25 @@ + (NSString *)encodeDictionaryToQueryString:(NSDictionary *)dictionary {
334307

335308
// Delete last character (either trailing & or ? if no params present)
336309
[queryString deleteCharactersInRange:NSMakeRange(queryString.length - 1, 1)];
337-
338310
return queryString;
339311
}
340312

341-
+ (NSString*) stringByPercentDecodingString:(NSString *)string {
313+
+ (NSString *)stringByPercentDecodingString:(NSString *)string {
342314
return [string stringByRemovingPercentEncoding];
343315
}
344316

345-
+ (NSString*) stringByPercentEncodingStringForQuery:(NSString *)string {
346-
return [string stringByAddingPercentEncodingWithAllowedCharacters:
347-
[NSCharacterSet URLQueryAllowedCharacterSet]];
317+
+ (NSString *)stringByPercentEncodingStringForQuery:(NSString *)string {
318+
return [string stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLQueryAllowedCharacterSet]];
348319
}
349320

350321
#pragma mark - Param Decoding Methods
351322

352323
+ (NSDictionary *)decodeJsonDataToDictionary:(NSData *)jsonData {
353324
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
354-
355325
return [BNCEncodingUtils decodeJsonStringToDictionary:jsonString];
356326
}
357327

358328
+ (NSDictionary *)decodeJsonStringToDictionary:(NSString *)jsonString {
359-
// Just a basic decode, easy enough
360329
NSData *tempData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
361330
if (!tempData) {
362331
return @{};
@@ -379,7 +348,6 @@ + (NSDictionary *)decodeJsonStringToDictionary:(NSString *)jsonString {
379348
return base64DecodedDictionary;
380349
}
381350

382-
// Apparently this data was not parsible into a dictionary, so we'll just return an empty one
383351
return @{};
384352
}
385353

@@ -393,27 +361,29 @@ + (NSDictionary *)decodeQueryStringToDictionary:(NSString *)queryString {
393361
NSString *key = kv[0];
394362
NSString *val = [kv[1] stringByRemovingPercentEncoding];
395363

396-
// Don't add empty items
397364
if (val.length) {
398365
params[key] = val;
399366
}
400367
}
401368
}
402-
403369
return params;
404370
}
405371

406372
#pragma mark - Hex Strings
407373

408-
+ (NSString *) hexStringFromData:(NSData*)data {
409-
374+
+ (NSString *)hexStringFromData:(NSData*)data {
410375
NSUInteger bytesCount = data.length;
411-
if (bytesCount <= 0) return @"";
412-
376+
if (bytesCount <= 0) {
377+
return @"";
378+
}
379+
413380
const char *hexChars = "0123456789ABCDEF";
414381
const char *dataBuffer = data.bytes;
415382
char *chars = malloc(sizeof(char) * (bytesCount * 2 + 1));
416-
if (!chars) return @"";
383+
if (!chars) {
384+
return @"";
385+
}
386+
417387
char *s = chars;
418388
for (unsigned i = 0; i < bytesCount; ++i) {
419389
*s++ = hexChars[((*dataBuffer & 0xF0) >> 4)];
@@ -423,35 +393,39 @@ + (NSString *) hexStringFromData:(NSData*)data {
423393
*s = '\0';
424394

425395
NSString *hexString = [NSString stringWithUTF8String:chars];
426-
if (chars) free(chars);
396+
if (chars) {
397+
free(chars);
398+
}
399+
427400
return hexString;
428401
}
429402

430-
+ (NSData *) dataFromHexString:(NSString*)string {
431-
if (!string) return nil;
432-
403+
+ (NSData *)dataFromHexString:(NSString*)string {
404+
if (!string) {
405+
return nil;
406+
}
407+
433408
NSData *data = nil;
434409
NSData *inputData = [string dataUsingEncoding:NSUTF8StringEncoding];
435410

436411
size_t length = (inputData.length+1)/2;
437412
uint8_t *bytes = malloc(length);
438413
uint8_t *b = bytes;
439-
if (!bytes) goto exit;
440-
414+
if (!bytes) {
415+
goto exit;
416+
}
417+
441418
int highValue = -1;
442419
const uint8_t *p = (const uint8_t*) [inputData bytes];
443420
for (NSUInteger i = 0; i < inputData.length; ++i) {
444421
int value;
445-
if (*p >= '0' && *p <= '9')
422+
if (*p >= '0' && *p <= '9') {
446423
value = *p - '0';
447-
else
448-
if (*p >= 'A' && *p <= 'F')
424+
} else if (*p >= 'A' && *p <= 'F') {
449425
value = *p - 'A' + 10;
450-
else
451-
if (*p >= 'a' && *p <= 'f')
426+
} else if (*p >= 'a' && *p <= 'f') {
452427
value = *p - 'a' + 10;
453-
else
454-
if (isspace(*p)) {
428+
} else if (isspace(*p)) {
455429
p++;
456430
continue;
457431
} else {
@@ -468,8 +442,9 @@ + (NSData *) dataFromHexString:(NSString*)string {
468442
}
469443

470444
// If highValue != -1 then we got an odd number of hex values, which is an error.
471-
if (highValue == -1)
445+
if (highValue == -1) {
472446
data = [NSData dataWithBytes:bytes length:b-bytes];
447+
}
473448

474449
exit:
475450
if (bytes) {
@@ -480,23 +455,27 @@ + (NSData *) dataFromHexString:(NSString*)string {
480455

481456
#pragma mark - URL QueryItems
482457

483-
+ (NSArray<BNCKeyValue*>*) queryItems:(NSURL*)URL {
484-
NSMutableArray* keyValues = [NSMutableArray new];
485-
if (!URL) return keyValues;
486-
458+
+ (NSArray<BNCKeyValue *> *)queryItems:(NSURL *)URL {
459+
NSMutableArray *keyValues = [NSMutableArray new];
460+
if (!URL) {
461+
return keyValues;
462+
}
463+
487464
NSArray *queryItems = [[URL query] componentsSeparatedByString:@"&"];
488-
for (NSString* itemPair in queryItems) {
465+
for (NSString *itemPair in queryItems) {
489466

490467
BNCKeyValue *keyValue = [BNCKeyValue new];
491468
NSRange range = [itemPair rangeOfString:@"="];
492469
if (range.location == NSNotFound) {
493-
if (itemPair.length)
470+
if (itemPair.length) {
494471
keyValue.key = itemPair;
472+
}
495473
} else {
496474
keyValue.key = [itemPair substringWithRange:NSMakeRange(0, range.location)];
497475
NSRange r = NSMakeRange(range.location+1, itemPair.length-range.location-1);
498-
if (r.length > 0)
476+
if (r.length > 0) {
499477
keyValue.value = [itemPair substringWithRange:r];
478+
}
500479
}
501480

502481
keyValue.key = [BNCEncodingUtils stringByPercentDecodingString:keyValue.key];
@@ -506,8 +485,13 @@ + (NSData *) dataFromHexString:(NSString*)string {
506485
keyValue.value = [keyValue.value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
507486

508487
if (keyValue.key.length || keyValue.value.length) {
509-
if (keyValue.key == nil) keyValue.key = @"";
510-
if (keyValue.value == nil) keyValue.value = @"";
488+
if (keyValue.key == nil) {
489+
keyValue.key = @"";
490+
}
491+
492+
if (keyValue.value == nil) {
493+
keyValue.value = @"";
494+
}
511495
[keyValues addObject:keyValue];
512496
}
513497
}

0 commit comments

Comments
 (0)