// // Copyright (c) 2017 Open Whisper Systems. All rights reserved. // #import "OWSFormat.h" NS_ASSUME_NONNULL_BEGIN @implementation OWSFormat + (NSString *)formatInt:(int)value { static NSNumberFormatter *formatter = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ formatter = [NSNumberFormatter new]; formatter.numberStyle = NSNumberFormatterNoStyle; }); return [formatter stringFromNumber:@(value)]; } + (NSString *)formatFileSize:(unsigned long)fileSize { static NSNumberFormatter *formatter = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ formatter = [NSNumberFormatter new]; formatter.numberStyle = NSNumberFormatterDecimalStyle; }); const unsigned long kOneKilobyte = 1024; const unsigned long kOneMegabyte = kOneKilobyte * kOneKilobyte; if (fileSize > kOneMegabyte * 10) { return [[formatter stringFromNumber:@((int)round(fileSize / (CGFloat)kOneMegabyte))] stringByAppendingString:@" MB"]; } else if (fileSize > kOneKilobyte * 10) { return [[formatter stringFromNumber:@((int)round(fileSize / (CGFloat)kOneKilobyte))] stringByAppendingString:@" KB"]; } else { return [NSString stringWithFormat:@"%lu Bytes", fileSize]; } } + (NSString *)formatDurationSeconds:(long)timeSeconds { long seconds = timeSeconds % 60; long minutes = (timeSeconds / 60) % 60; long hours = timeSeconds / 3600; if (hours > 0) { return [NSString stringWithFormat:@"%ld:%02ld:%02ld", hours, minutes, seconds]; } else { return [NSString stringWithFormat:@"%ld:%02ld", minutes, seconds]; } } @end NS_ASSUME_NONNULL_END