"HOME_BUTTON_X3");
auto viewPowerKeyMenu = std::make_shared<MenuItemImplementation>(
std::vector<std::string> {"IDS_VIEW_POWER_KEY_MENU"},
- defaultImg);
+ defaultImg,
+ "POWER_KEY_MENU");
auto notiVolumeIncrease = std::make_shared<MenuItemImplementation>(
std::vector<std::string> {"IDS_NOTI_VOLUME_INC"},
defaultImg,
--- /dev/null
+#include "Activity.hpp"
+#include "ActivityFactory.hpp"
+#include "UniversalSwitchLog.hpp"
+
+#include <bundle_internal.h>
+#include <syspopup_caller.h>
+
+#include <memory>
+
+class PowerKeyMenuActivity : public Activity, private RegisterActivity<PowerKeyMenuActivity>
+{
+public:
+ constexpr static const char *activityType = "POWER_KEY_MENU";
+ PowerKeyMenuActivity()
+ : Activity(activityType) {}
+
+ bool process() override
+ {
+ auto bundleHandle = std::unique_ptr<bundle, int(*)(bundle *)>(bundle_create(), bundle_free);
+ if (!bundleHandle) {
+ ERROR("bundle_create failure");
+ return true;
+ }
+
+ auto ret = bundle_add(bundleHandle.get(), POPUP_CONTENT, POPUP_NAME_POWERKEY);
+ if (ret < 0) {
+ ERROR("Failed to add bundle (%s,%s), error: %d", POPUP_CONTENT, POPUP_NAME_POWERKEY, ret);
+ return true;
+ }
+
+ ret = syspopup_launch(const_cast<char *>(POPUP_POWERKEY), bundleHandle.get());
+ if (ret < 0)
+ ERROR("Failed to launch popup, error: %d", ret);
+
+ return true;
+ }
+
+private:
+ static constexpr const char *POPUP_CONTENT = "_SYSPOPUP_CONTENT_";
+ static constexpr const char *POPUP_NAME_POWERKEY = "powerkey";
+ static constexpr const char *POPUP_POWERKEY = "powerkey-syspopup";
+};
\ No newline at end of file