From cf7ae8a8754c75f93692c79ebecfdd674b52ec69 Mon Sep 17 00:00:00 2001 From: Marius Gripsgard Date: Sun, 25 Mar 2018 22:10:45 +0200 Subject: Add basic flashlight support. Ported from UBPorts power indicator: commit efef6f25f378021c99b3078958482b3c4ffc43a2 Author: Marius Gripsgard Date: Sun Aug 13 00:09:01 2017 +0200 Add support for other flashlight sysfs paths commit 3f4339876ddb586b75a73fab51a54b1d4d54fdd1 Author: Marius Gripsgard Date: Fri Jul 28 21:23:54 2017 +0200 Add basic support for QCOM flashlight, Fixes https://github.com/ubports/ubports-touch/issues/79 This does not work on non QCOM devices Ported-by: Mike Gabriel --- src/service.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/service.c') diff --git a/src/service.c b/src/service.c index daafb61..75d4538 100644 --- a/src/service.c +++ b/src/service.c @@ -27,6 +27,7 @@ #include "device-provider.h" #include "notifier.h" #include "service.h" +#include "flashlight.h" #include "utils.h" #define BUS_NAME "org.ayatana.indicator.power" @@ -671,6 +672,13 @@ create_phone_settings_section(IndicatorPowerService * self) g_object_unref(item); } + if (flashlight_supported()) + { + item = g_menu_item_new(_("Flashlight"), "indicator.flashlight"); + g_menu_item_set_attribute(item, "x-canonical-type", "s", "com.canonical.indicator.switch"); + g_menu_append_item(section, item); + g_object_unref(item); + } g_menu_append(section, _("Battery settingsā€¦"), "indicator.activate-phone-settings"); return G_MENU_MODEL(section); @@ -909,6 +917,11 @@ init_gactions (IndicatorPowerService * self) NULL, NULL); g_action_map_add_action(G_ACTION_MAP(p->actions), G_ACTION(a)); + /* add the flashlight action */ + a = g_simple_action_new_stateful("flashlight", NULL, g_variant_new_boolean(FALSE)); + g_action_map_add_action (G_ACTION_MAP(p->actions), G_ACTION(a)); + g_signal_connect(a, "activate", G_CALLBACK(toggle_flashlight_action), self); + /* add the brightness action */ a = g_simple_action_new_stateful ("brightness", NULL, action_state_for_brightness (self)); g_action_map_add_action (G_ACTION_MAP(p->actions), G_ACTION(a)); -- cgit v1.2.3