(iOS) Move ios_get_powerstate code to platform_darwin.m

This commit is contained in:
Twinaphex 2015-04-21 12:15:42 +02:00
parent e77f43530e
commit af00b958d5
2 changed files with 30 additions and 38 deletions

View File

@ -41,6 +41,8 @@
#include <IOKit/ps/IOPSKeys.h>
#include <sys/sysctl.h>
#elif defined(IOS)
#include <UIKit/UIDevice.h>
#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;
}

View File

@ -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:@"."];