aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Bellows <greg.bellows@linaro.org>2014-11-11 14:47:05 -0600
committerGreg Bellows <greg.bellows@linaro.org>2015-01-15 16:18:52 -0600
commit956146b8c898c8361630978a5345dfbd27376123 (patch)
tree3f0fcebb1cf7fb6ec7d3b6153b45a2048c930a17
parent6a1c936a8c6296568ab9634f7c9d7f236a6f5704 (diff)
android-console: Add power ac command
Add the Android emulator console "power ac" along with the associated help messages. The "ac" command allows the power supply state of the device to be manipulated. Signed-off-by: Greg Bellows <greg.bellows@linaro.org>
-rw-r--r--android-commands.h7
-rw-r--r--android-console.c25
-rw-r--r--android-console.h1
3 files changed, 33 insertions, 0 deletions
diff --git a/android-commands.h b/android-commands.h
index 67e3c4634..e770fcfae 100644
--- a/android-commands.h
+++ b/android-commands.h
@@ -33,6 +33,13 @@ static mon_cmd_t android_power_cmds[] = {
.help = "display battery and charger state",
.mhandler.cmd = android_console_power_display,
},
+ {
+ .name = "ac",
+ .args_type = "arg:s?",
+ .params = "",
+ .help = "set AC charging state",
+ .mhandler.cmd = android_console_power_ac,
+ },
{ NULL, NULL, },
};
diff --git a/android-console.c b/android-console.c
index b1d1389ce..999f84d7d 100644
--- a/android-console.c
+++ b/android-console.c
@@ -314,9 +314,30 @@ void android_console_power_display(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "OK\n");
}
+void android_console_power_ac(Monitor *mon, const QDict *qdict)
+{
+ const char *arg = qdict_get_try_str(qdict, "arg");
+
+ if (arg) {
+ if (strcasecmp(arg, "on") == 0) {
+ goldfish_battery_set_prop(1, POWER_SUPPLY_PROP_ONLINE, 1);
+ monitor_printf(mon, "OK\n");
+ return;
+ }
+ if (strcasecmp(arg, "off") == 0) {
+ goldfish_battery_set_prop(1, POWER_SUPPLY_PROP_ONLINE, 0);
+ monitor_printf(mon, "OK\n");
+ return;
+ }
+ }
+
+ monitor_printf(mon, "KO: Usage: \"ac on\" or \"ac off\"\n");
+}
+
enum {
CMD_POWER,
CMD_POWER_DISPLAY,
+ CMD_POWER_AC,
};
static const char *power_help[] = {
@@ -332,6 +353,8 @@ static const char *power_help[] = {
" power capacity set battery capacity state\n",
/* CMD_POWER_DISPLAY */
"display battery and charger state",
+ /* CMD_POWER_AC */
+ "'ac on|off' allows you to set the AC charging state to on or off",
};
void android_console_power(Monitor *mon, const QDict *qdict)
@@ -345,6 +368,8 @@ void android_console_power(Monitor *mon, const QDict *qdict)
if (helptext) {
if (strstr(helptext, "display")) {
cmd = CMD_POWER_DISPLAY;
+ } else if (strstr(helptext, "ac")) {
+ cmd = CMD_POWER_AC;
}
}
diff --git a/android-console.h b/android-console.h
index 44ff11b01..458f44c5c 100644
--- a/android-console.h
+++ b/android-console.h
@@ -29,6 +29,7 @@ void android_console_redir_add(Monitor *mon, const QDict *qdict);
void android_console_redir_del(Monitor *mon, const QDict *qdict);
void android_console_power_display(Monitor *mon, const QDict *qdict);
+void android_console_power_ac(Monitor *mon, const QDict *qdict);
void android_console_power(Monitor *mon, const QDict *qdict);
void android_monitor_print_error(Monitor *mon, const char *fmt, ...);