summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/android/powermgmt-android.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/hosted/android/powermgmt-android.c')
-rw-r--r--firmware/target/hosted/android/powermgmt-android.c28
1 files changed, 7 insertions, 21 deletions
diff --git a/firmware/target/hosted/android/powermgmt-android.c b/firmware/target/hosted/android/powermgmt-android.c
index dcbd7a6214..1e70a81753 100644
--- a/firmware/target/hosted/android/powermgmt-android.c
+++ b/firmware/target/hosted/android/powermgmt-android.c
@@ -28,10 +28,10 @@ extern JNIEnv *env_ptr;
28extern jclass RockboxService_class; 28extern jclass RockboxService_class;
29extern jobject RockboxService_instance; 29extern jobject RockboxService_instance;
30 30
31static jfieldID _battery_level; 31static jfieldID __battery_level;
32static jobject BatteryMonitor_instance; 32static jobject BatteryMonitor_instance;
33 33
34void powermgmt_init_target(void) 34static void new_battery_monitor(void)
35{ 35{
36 JNIEnv e = *env_ptr; 36 JNIEnv e = *env_ptr;
37 jclass class = e->FindClass(env_ptr, "org/rockbox/monitors/BatteryMonitor"); 37 jclass class = e->FindClass(env_ptr, "org/rockbox/monitors/BatteryMonitor");
@@ -43,29 +43,15 @@ void powermgmt_init_target(void)
43 RockboxService_instance); 43 RockboxService_instance);
44 44
45 /* cache the battery level field id */ 45 /* cache the battery level field id */
46 _battery_level = (*env_ptr)->GetFieldID(env_ptr, 46 __battery_level = (*env_ptr)->GetFieldID(env_ptr,
47 class, 47 class,
48 "mBattLevel", "I"); 48 "mBattLevel", "I");
49} 49}
50 50
51int battery_level(void) 51int _battery_level(void)
52{ 52{
53 return (*env_ptr)->GetIntField(env_ptr, BatteryMonitor_instance, _battery_level); 53 if (!BatteryMonitor_instance)
54 new_battery_monitor();
55 return (*env_ptr)->GetIntField(env_ptr, BatteryMonitor_instance, __battery_level);
54} 56}
55 57
56int battery_time(void)
57{ /* cannot calculate yet */
58 return 0;
59}
60
61/* should always be safe on android targets, the host shuts us down before */
62bool battery_level_safe(void)
63{
64 return true;
65}
66
67/* TODO */
68unsigned battery_voltage(void)
69{
70 return 0;
71}