diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m index 9f30dd3ceb..d188b0f358 100644 --- a/frontend/drivers/platform_darwin.m +++ b/frontend/drivers/platform_darwin.m @@ -41,6 +41,8 @@ #include #include +#elif defined(IOS) +#include #endif typedef enum @@ -157,8 +159,6 @@ static void CFTemporaryDirectory(char *buf, size_t sizeof_buf) #if defined(IOS) void get_ios_version(int *major, int *minor); - -enum frontend_powerstate ios_get_powerstate(int *seconds, int *percent); #endif #if defined(OSX) @@ -488,7 +488,34 @@ end: if (blob) CFRelease(blob); #elif defined(IOS) - ret = ios_get_powerstate(seconds, percent); + float level; + UIDevice *uidev = [UIDevice currentDevice]; + + if (!uidev) + return ret; + + [uidev setBatteryMonitoringEnabled:true]; + + switch (uidev.batteryState) + { + case UIDeviceBatteryStateCharging: + ret = FRONTEND_POWERSTATE_CHARGING; + break; + case UIDeviceBatteryStateFull: + ret = FRONTEND_POWERSTATE_CHARGED; + break; + case UIDeviceBatteryStateUnplugged: + ret = FRONTEND_POWERSTATE_ON_POWER_SOURCE; + break; + case UIDeviceBatteryStateUnknown: + break; + } + + level = uidev.batteryLevel; + + *percent = ((level < 0.0f) ? -1 : ((int)((level * 100) + 0.5f))); + + [uidev setBatteryMonitoringEnabled:false]; #endif return ret; } diff --git a/ui/drivers/ui_cocoatouch.m b/ui/drivers/ui_cocoatouch.m index 4e3685145e..5c5c70cf9b 100644 --- a/ui/drivers/ui_cocoatouch.m +++ b/ui/drivers/ui_cocoatouch.m @@ -66,41 +66,6 @@ static void rarch_draw(CFRunLoopObserverRef observer, apple_frontend_settings_t apple_frontend_settings; -enum frontend_powerstate ios_get_powerstate(int *seconds, int *percent) -{ - float level; - enum frontend_powerstate ret = FRONTEND_POWERSTATE_NONE; - UIDevice *uidev = [UIDevice currentDevice]; - - if (!uidev) - return ret; - - [uidev setBatteryMonitoringEnabled:true]; - - switch (uidev.batteryState) - { - case UIDeviceBatteryStateCharging: - ret = FRONTEND_POWERSTATE_CHARGING; - break; - case UIDeviceBatteryStateFull: - ret = FRONTEND_POWERSTATE_CHARGED; - break; - case UIDeviceBatteryStateUnplugged: - ret = FRONTEND_POWERSTATE_ON_POWER_SOURCE; - break; - case UIDeviceBatteryStateUnknown: - break; - } - - level = uidev.batteryLevel; - - *percent = ((level < 0.0f) ? -1 : ((int)((level * 100) + 0.5f))); - - [uidev setBatteryMonitoringEnabled:false]; - - return ret; -} - void get_ios_version(int *major, int *minor) { NSArray *decomposed_os_version = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];