Commit f3843cf8 authored by Felix Paul Kühne's avatar Felix Paul Kühne

UIDevice: cache speed category as it cannot change within a single run

(cherry picked from commit 3bd5e5c847bb8736691a43e656483c5e93751cc8)
parent 67a712e3
......@@ -13,10 +13,16 @@
#import "UIDevice+VLC.h"
#import <sys/sysctl.h> // for sysctlbyname
int _currentSpeedCategory;
@implementation UIDevice (VLC)
- (int)VLCSpeedCategory
{
if (_currentSpeedCategory != 0) {
return _currentSpeedCategory;
}
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
......@@ -29,20 +35,22 @@
if ([currentMachine hasPrefix:@"iPhone2"] || [currentMachine hasPrefix:@"iPhone3"] || [currentMachine hasPrefix:@"iPad1"] || [currentMachine hasPrefix:@"iPod3"] || [currentMachine hasPrefix:@"iPod4"]) {
// iPhone 4, 4th generation iPod touch
APLog(@"this is a cat one device");
return 1;
_currentSpeedCategory = 1;
} else if ([currentMachine hasPrefix:@"iPhone4"] || [currentMachine hasPrefix:@"iPad3,1"] || [currentMachine hasPrefix:@"iPad3,2"] || [currentMachine hasPrefix:@"iPad3,3"] || [currentMachine hasPrefix:@"iPod4"] || [currentMachine hasPrefix:@"iPad2"] || [currentMachine hasPrefix:@"iPod5"]) {
// iPhone 4S, iPad 2 and 3, iPod 4 and 5
APLog(@"this is a cat two device");
return 2;
_currentSpeedCategory = 2;
} else if ([currentMachine hasPrefix:@"iPhone5"] || [currentMachine hasPrefix:@"iPhone6"] || [currentMachine hasPrefix:@"iPad4"]) {
// iPhone 5 + 5S, iPad 4, iPad Air, iPad mini 2G
APLog(@"this is a cat three device");
return 3;
_currentSpeedCategory = 3;
} else {
// iPhone 6 + 6S, 2014+2015 iPads
APLog(@"this is a cat four device");
return 4;
_currentSpeedCategory = 4;
}
return _currentSpeedCategory;
}
- (NSNumber *)VLCFreeDiskSpace
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment