"SCREENSHOT");
auto rotateLeft = std::make_shared<MenuItemImplementation>(
std::vector<std::string> {"IDS_ROTATE_LEFT"},
- std::vector<std::string> {defaultImg});
+ std::vector<std::string> {defaultImg},
+ "ROTATE_LEFT");
auto rotateRight = std::make_shared<MenuItemImplementation>(
std::vector<std::string> {"IDS_ROTATE_RIGHT"},
- std::vector<std::string> {defaultImg});
+ std::vector<std::string> {defaultImg},
+ "ROTATE_RIGHT");
auto rotateToPortrait = std::make_shared<MenuItemImplementation>(
std::vector<std::string> {"IDS_ROTATE_TO_PORTRAIT"},
- std::vector<std::string> {defaultImg});
+ std::vector<std::string> {defaultImg},
+ "ROTATE_TO_PORTRAIT");
auto speedUpScaning = std::make_shared<MenuItemImplementation>(
std::vector<std::string> {"IDS_SPEED_UP_SCANING"},
std::vector<std::string> {defaultImg},
--- /dev/null
+#include "Activity.hpp"
+#include "ActivityFactory.hpp"
+#include "UniversalSwitchLog.hpp"
+#include "UniversalSwitch.hpp"
+#include "DBus.hpp"
+#include "dbusLocators.hpp"
+#include "VConf.hpp"
+#include "VConfKeys.hpp"
+
+template <typename DerivedType>
+class RotateActivity : public Activity, private RegisterActivity<DerivedType>
+{
+public:
+ constexpr static const char *activityType = DerivedType::activityType;
+ RotateActivity() : Activity(activityType)
+ {}
+
+ void process() override
+ {
+ Singleton<VConfInterface>::instance().set(VCONF_KEY_AUTO_ROTATE, false);
+ auto dbus = DBus::DBusClient {dbusLocators::accessibilityEMod::BUS,
+ dbusLocators::accessibilityEMod::OBJ_PATH,
+ dbusLocators::accessibilityEMod::INTERFACE,
+ DBus::ConnectionType::SYSTEM};
+ auto rotation = DerivedType::ROTATION;
+ dbus.method<void(int)>("DispatchRotationEvent").call(rotation);
+ markAsCompleted();
+ }
+};
+
+class RotateToPortraitActivity : public RotateActivity<RotateToPortraitActivity>
+{
+public:
+ static constexpr const char *activityType = "ROTATE_TO_PORTRAIT";
+ static constexpr int ROTATION = 0;
+};
+
+class RotateRightActivity : public RotateActivity<RotateRightActivity>
+{
+public:
+ static constexpr const char *activityType = "ROTATE_RIGHT";
+ static constexpr int ROTATION = 90;
+};
+
+class RotateLeftActivity : public RotateActivity<RotateLeftActivity>
+{
+public:
+ static constexpr const char *activityType = "ROTATE_LEFT";
+ static constexpr int ROTATION = 270;
+};
\ No newline at end of file