aboutsummaryrefslogtreecommitdiffstats
path: root/src/androidfns.c
diff options
context:
space:
mode:
authorPo Lu2023-03-10 09:40:41 +0800
committerPo Lu2023-03-10 09:40:41 +0800
commit488a75f2e2b73038ff341f3484a8cf8584633eff (patch)
tree4871fe49e7009816a004f96d59fcb3b945c294d8 /src/androidfns.c
parent4392423cb6df5a8af9a0520da04378e189fd387e (diff)
downloademacs-488a75f2e2b73038ff341f3484a8cf8584633eff.tar.gz
emacs-488a75f2e2b73038ff341f3484a8cf8584633eff.zip
Port Android battery status to Android 4.4 and earlier
* java/org/gnu/emacs/EmacsService.java (EmacsService) (queryBattery19): New function. (queryBattery): Call it on old systems. Also, return AC line status and temperature. * lisp/battery.el (battery-android): Implement more format directives. * src/android.c (android_query_battery): Handle new status fields. * src/android.h (struct android_battery_state): Add `plugged' and `temperature'. * src/androidfns.c (Fandroid_query_battery): Return new fields.
Diffstat (limited to 'src/androidfns.c')
-rw-r--r--src/androidfns.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/androidfns.c b/src/androidfns.c
index 5a23e8bd196..2724b9595c1 100644
--- a/src/androidfns.c
+++ b/src/androidfns.c
@@ -2797,11 +2797,13 @@ frame_parm_handler android_frame_parm_handlers[] =
2797DEFUN ("android-query-battery", Fandroid_query_battery, 2797DEFUN ("android-query-battery", Fandroid_query_battery,
2798 Sandroid_query_battery, 0, 0, 0, 2798 Sandroid_query_battery, 0, 0, 0,
2799 doc: /* Perform a query for battery information. 2799 doc: /* Perform a query for battery information.
2800This function will not work before Android 5.0.
2801Value is nil upon failure, or a list of the form: 2800Value is nil upon failure, or a list of the form:
2802 2801
2803 (CAPACITY CHARGE-COUNTER CURRENT-AVERAGE CURRENT-NOW STATUS 2802 (CAPACITY CHARGE-COUNTER CURRENT-AVERAGE CURRENT-NOW STATUS
2804 REMAINING) 2803 REMAINING PLUGGED TEMP)
2804
2805where REMAINING, CURRENT-AVERAGE, and CURRENT-NOW are undefined prior
2806to Android 5.0.
2805 2807
2806See the documentation at 2808See the documentation at
2807 2809
@@ -2822,12 +2824,14 @@ for more details about these values. */)
2822 if (android_query_battery (&state)) 2824 if (android_query_battery (&state))
2823 return Qnil; 2825 return Qnil;
2824 2826
2825 return listn (6, make_int (state.capacity), 2827 return listn (8, make_int (state.capacity),
2826 make_int (state.charge_counter), 2828 make_fixnum (state.charge_counter),
2827 make_int (state.current_average), 2829 make_int (state.current_average),
2828 make_int (state.current_now), 2830 make_int (state.current_now),
2829 make_int (state.status), 2831 make_fixnum (state.status),
2830 make_int (state.remaining)); 2832 make_int (state.remaining),
2833 make_fixnum (state.plugged),
2834 make_fixnum (state.temperature));
2831} 2835}
2832 2836
2833#endif 2837#endif