void Popupper::popupCheck(int popupId, const std::string &appId, const std::string &pkgId, const std::string &priv) {
std::string profileName = getProfileName();
PopupCheck *popup;
- if (profileName[0] != 'w' && profileName[0] != 'W') {
- // Not wearable
- popup = new PopupCheckMobile(m_win, popupId, Po::createPopupCheckMsg(appId, pkgId, priv));
- } else {
- // Wearable
- popup = new PopupCheckWearable(m_win, popupId, Po::createPopupCheckMsg(appId, pkgId, priv));
+ try {
+ if (profileName[0] != 'w' && profileName[0] != 'W') {
+ // Not wearable
+ popup = new PopupCheckMobile(m_win, popupId, Po::createPopupCheckMsg(appId, pkgId, priv));
+ } else {
+ // Wearable
+ popup = new PopupCheckWearable(m_win, popupId, Po::createPopupCheckMsg(appId, pkgId, priv));
+ }
+ popup->create();
+ } catch (const std::exception &e) {
+ ALOGE("Failed to create popup check : " << e.what());
+ m_popupResponseHandler(popupId, NResponseType::Error);
+ return;
}
- popup->create();
-
m_answerablePtr.reset(new AnswerablePopupCheck(popup, m_popupResponseHandler));
evas_object_smart_callback_add(popup->getAllowButton(), "clicked", &Popupper::allowPressedCb,
m_answerablePtr.get());
void Popupper::popupLaunch(int popupId, const std::string &appId, const std::string &pkgId, const std::vector<std::string> &privs) {
std::string profileName = getProfileName();
Popup *popup;
- if (profileName[0] != 'w' && profileName[0] != 'W') {
- // Not wearable
- popup = new PopupLaunchMobile(m_win, popupId, Po::createPopupLaunchMsg(appId, pkgId, privs));
- } else {
- // Wearable
- popup = new PopupLaunchWearable(m_win, popupId, Po::createPopupLaunchMsg(appId, pkgId, privs));
+ try {
+ if (profileName[0] != 'w' && profileName[0] != 'W') {
+ // Not wearable
+ popup = new PopupLaunchMobile(m_win, popupId, Po::createPopupLaunchMsg(appId, pkgId, privs));
+ } else {
+ // Wearable
+ popup = new PopupLaunchWearable(m_win, popupId, Po::createPopupLaunchMsg(appId, pkgId, privs));
+ }
+ popup->create();
+ } catch (const std::exception &e) {
+ ALOGE("Failed to create popup launch : " << e.what());
+ m_popupResponseHandler(popupId, NResponseType::Error);
+ return;
}
- popup->create();
-
m_answerablePtr.reset(new AnswerablePopupLaunch(popup, m_popupResponseHandler));
evas_object_smart_callback_add(popup->getAllowButton(), "clicked", &Popupper::allowPressedCb,
m_answerablePtr.get());
show();
}
void Popupper::toastDeny(int toastId, const std::string &appId, const std::string &pkgId, const std::string &priv) {
- Toast *toast = new Toast(m_win, toastId, Po::createToastDenyMsg(appId, pkgId, priv));
- toast->create();
- m_elementPtr.reset(toast);
-
+ try {
+ Toast *toast = new Toast(m_win, toastId, Po::createToastDenyMsg(appId, pkgId, priv));
+ toast->create();
+ m_elementPtr.reset(toast);
+ } catch (const std::exception &e) {
+ ALOGE("Failed to create toast deny : " << e.what());
+ return;
+ }
m_toastFinishedHandler(toastId);
}
void Popupper::toastFail(int toastId, const std::string &appId, const std::string &pkgId) {
- Toast *toast = new Toast(m_win, toastId, Po::createToastFailMsg(appId, pkgId));
- toast->create();
- m_elementPtr.reset(toast);
-
+ try {
+ Toast *toast = new Toast(m_win, toastId, Po::createToastFailMsg(appId, pkgId));
+ toast->create();
+ m_elementPtr.reset(toast);
+ } catch (const std::exception &e) {
+ ALOGE("Failed to create toast fail : " << e.what());
+ return;
+ }
m_toastFinishedHandler(toastId);
}