summaryrefslogtreecommitdiff
path: root/external/plyer/platforms/ios/battery.py
diff options
context:
space:
mode:
Diffstat (limited to 'external/plyer/platforms/ios/battery.py')
-rw-r--r--external/plyer/platforms/ios/battery.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/external/plyer/platforms/ios/battery.py b/external/plyer/platforms/ios/battery.py
new file mode 100644
index 0000000..55aa2c6
--- /dev/null
+++ b/external/plyer/platforms/ios/battery.py
@@ -0,0 +1,36 @@
+from pyobjus import autoclass
+from pyobjus.dylib_manager import load_framework
+from plyer.facades import Battery
+
+load_framework('/System/Library/Frameworks/UIKit.framework')
+UIDevice = autoclass('UIDevice')
+
+
+class iOSBattery(Battery):
+ def __init__(self):
+ super(iOSBattery, self).__init__()
+ self.device = UIDevice.currentDevice()
+
+ def _get_state(self):
+ status = {"isCharging": None, "percentage": None}
+
+ if(not self.device.batteryMonitoringEnabled):
+ self.device.setBatteryMonitoringEnabled_(True)
+
+ if self.device.batteryState == 0:
+ isCharging = None
+ elif self.device.batteryState == 2:
+ isCharging = True
+ else:
+ isCharging = False
+
+ percentage = self.device.batteryLevel * 100.
+
+ status['isCharging'] = isCharging
+ status['percentage'] = percentage
+
+ return status
+
+
+def instance():
+ return iOSBattery()