#include "UniversalSwitch.hpp"
#include "ecore.hpp"
#include "ConditionAll.hpp"
+#include "dbusLocators.hpp"
#include <Elementary.h>
#include <ui/efl_util.h>
static const std::string AUTO_TAP_KEY = VCONF_KEY_AUTO_TAP_ENABLED;
static const std::string AUTO_TAP_WAITING_PERIOD_KEY = VCONF_KEY_AUTO_TAP_WAITING_TIME;
-
class SelectActivity : public UIActivity, public Observer<MenuItem>, RegisterBindableActivity<SelectActivity>
{
public:
Optional<bool> realUiElementHasEditableText;
std::unique_ptr<Evas_Object, void(*)(Evas_Object *)> popup;
std::unique_ptr<Evas_Object, void(*)(Evas_Object *)> virtualBackButton;
+ std::unique_ptr<DBus::DBusClient> dbusClient;
VConfInterface::CallbackHandle autoTapWaitingPeriodCallbackHandle;
ecore::Timer timer;
double autoTapWaitingPeriod;
createMenuContent();
evas_object_size_hint_weight_set(popup.get(), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_smart_callback_add(popup.get(), "dismissed", popupDismissedCb, this);
+
+ dbusClient = std::make_unique<DBus::DBusClient>(dbusLocators::accessibilityEMod::BUS,
+ dbusLocators::accessibilityEMod::OBJ_PATH, dbusLocators::accessibilityEMod::INTERFACE, DBus::ConnectionType::SYSTEM);
+ dbusClient->method<void(bool)>(dbusLocators::accessibilityEMod::BACK_BUTTON_INTERCEPTION_ENABLED).call(true);
+ dbusClient->addSignal<void()>(dbusLocators::accessibilityEMod::BACK_BUTTON_UP_SIGNAL, [this]() {
+ markAsCompleted();
+ removeMenu();
+ });
+
evas_object_show(popup.get());
timer.reset();
}
}
timer.reset();
+
+ if (dbusClient) {
+ dbusClient->method<void(bool)>(dbusLocators::accessibilityEMod::BACK_BUTTON_INTERCEPTION_ENABLED).call(false);
+ dbusClient.reset();
+ }
}
void SelectActivity::createMenuContent()
static constexpr const char *SCREEN_SP_ENABLED = "ScreenSwitchProviderEnabled";
static constexpr const char *MOUSE_DOWN_SIGNAL = "MouseDown";
static constexpr const char *MOUSE_UP_SIGNAL = "MouseUp";
+
+ static constexpr const char *BACK_BUTTON_INTERCEPTION_ENABLED = "BackButtonInterceptionEnabled";
+ static constexpr const char *BACK_BUTTON_DOWN_SIGNAL = "BackButtonDown";
+ static constexpr const char *BACK_BUTTON_UP_SIGNAL = "BackButtonUp";
}
}