|
|
|
|
758
|
|
758
|
|
759
|
+(void) df:(RCTResponseSenderBlock)callback
|
759
|
+(void) df:(RCTResponseSenderBlock)callback
|
760
|
{
|
760
|
{
|
761
|
- uint64_t totalSpace = 0;
|
|
|
762
|
- uint64_t totalFreeSpace = 0;
|
|
|
763
|
NSError *error = nil;
|
761
|
NSError *error = nil;
|
764
|
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
762
|
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
765
|
NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
|
763
|
NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
|
|
|
|
|
767
|
if (dictionary) {
|
765
|
if (dictionary) {
|
768
|
NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
|
766
|
NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
|
769
|
NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
|
767
|
NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
|
770
|
- totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
|
|
|
771
|
- totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue];
|
|
|
|
|
768
|
+
|
772
|
callback(@[[NSNull null], @{
|
769
|
callback(@[[NSNull null], @{
|
773
|
- @"free" : [NSNumber numberWithUnsignedLongLong: totalFreeSpace],
|
|
|
774
|
- @"total" : [NSNumber numberWithUnsignedLongLong: totalSpace],
|
|
|
|
|
770
|
+ @"free" : freeFileSystemSizeInBytes,
|
|
|
771
|
+ @"total" : fileSystemSizeInBytes,
|
775
|
}]);
|
772
|
}]);
|
776
|
} else {
|
773
|
} else {
|
777
|
callback(@[@"failed to get storage usage."]);
|
774
|
callback(@[@"failed to get storage usage."]);
|