MenuMap singleton provides find() function, that returns vector of items in each menu.
Universal switch now uses gettext () to display the correct language.
Change-Id: Ic33ca858a3845512c3350b77a2507f700d0a9746
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_FLAGS} -std=c++11")
+# install desktop file & icon
+SET(RES_DIR "${CMAKE_INSTALL_PREFIX}/res")
+SET(ICONS_DIR "${RES_DIR}/icons")
+SET(LOCALE_DIR "${RES_DIR}/locale")
+
+ADD_DEFINITIONS("-DICONS_DIR=\"${ICONS_DIR}\"")
+ADD_DEFINITIONS("-DLOCALE_DIR=\"${LOCALE_DIR}\"")
+ADD_DEFINITIONS("-DPROJECT_NAME=\"${PROJECT_NAME}\"")
+
+INSTALL(DIRECTORY res/icons/ DESTINATION ${ICONS_DIR} FILES_MATCHING PATTERN "*.png")
+
ADD_DEFINITIONS("-DDEBUG_PRINTING_LEVEL=DEBUG_PRINTING_LEVEL_DEBUG")
# Install Manifest File
INSTALL(FILES org.tizen.universal-switch.xml DESTINATION ${TZ_SYS_RO_PACKAGES})
ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(res/po)
if(TESTS)
ADD_SUBDIRECTORY(tests)
-endif()
+endif()
\ No newline at end of file
BuildRequires: at-spi2-core
BuildRequires: at-spi2-core-devel
BuildRequires: cmake
+BuildRequires: gettext-tools
BuildRequires: pkgconfig(capi-appfw-service-application)
BuildRequires: pkgconfig(capi-appfw-application)
BuildRequires: pkgconfig(ecore)
%files
%manifest org.tizen.universal-switch.manifest
+%{AppDir}/res/*
%license LICENSE
%{AppDir}/bin/universal-switch
%if %{with tests}
%package tests
Summary: Universal Switch Assistive Technology - tests
+Requires: %{name} = %{version}
%description tests
Universal Switch tests
%post tests
-%{AppDir}/tests/VConfImplTests_init.sh
+%{AppDir}/tests/VConf_init.sh
%files tests
%{AppDir}/tests/*
--- /dev/null
+SET(POFILES en_US.po)
+SET(MSGFMT "/usr/bin/msgfmt")
+
+MESSAGE(STATUS "po files ---")
+FOREACH(pofile ${POFILES})
+ SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+ MESSAGE(PO: " ${pofile}")
+ GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+ GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+ SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${moFile}
+ COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+ DEPENDS ${absPofile}
+ )
+ INSTALL(FILES ${moFile}
+ DESTINATION ${LOCALE_DIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+ SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
--- /dev/null
+msgid "IDS_TAP"
+msgstr "Tap"
+
+
+msgid "IDS_HOME_SCREEN"
+msgstr "Home screen"
+
+
+msgid "IDS_BACK"
+msgstr "Back"
+
+
+msgid "IDS_OPEN_NOTI_PANEL"
+msgstr "Open noti. panel"
+
+
+msgid "IDS_CLOSE_NOTI_PANEL"
+msgstr "Close noti. panel"
+
+
+msgid "IDS_RECENT_APPS"
+msgstr "Recent apps"
+
+
+msgid "IDS_ACCEPT"
+msgstr "Accept"
+
+
+msgid "IDS_REJECT"
+msgstr "Reject"
+
+
+msgid "IDS_END_CALL"
+msgstr "End call"
+
+
+msgid "IDS_LEFT_PAGE"
+msgstr "Left page"
+
+
+msgid "IDS_RIGHT_PAGE"
+msgstr "Right page"
+
+
+msgid "IDS_INCREASE"
+msgstr "Increase"
+
+
+msgid "IDS_DECREASE"
+msgstr "Decrease"
+
+
+msgid "IDS_SELECTION_MODE"
+msgstr "Selection mode"
+
+
+msgid "IDS_SELECT_ALL"
+msgstr "Select all"
+
+
+msgid "IDS_PREVIOUS_CHARACTER"
+msgstr "Previous character"
+
+
+msgid "IDS_PREVIOUS_WORD"
+msgstr "Previous word"
+
+
+msgid "IDS_PREVIOUS_LINE"
+msgstr "Previous line"
+
+
+msgid "IDS_PREVIOUS_PARAGRAPH"
+msgstr "Previous paragraph"
+
+
+msgid "IDS_NEXT_CHARACTER"
+msgstr "Next character"
+
+
+msgid "IDS_NEXT_WORD"
+msgstr "Next word"
+
+
+msgid "IDS_NEXT_LINE"
+msgstr "Next line"
+
+
+msgid "IDS_NEXT_PARAGRAPH"
+msgstr "Next paragraph"
+
+
+msgid "IDS_COPY"
+msgstr "Copy"
+
+
+msgid "IDS_PASTE"
+msgstr "Paste"
+
+
+msgid "IDS_CUT"
+msgstr "Cut"
+
+
+msgid "IDS_TOUCH_AND_HOLD"
+msgstr "Touch and hold"
+
+
+msgid "IDS_TOUCH_HOLD_THEN_DRAG"
+msgstr "Touch, hold then drag"
+
+
+msgid "IDS_SWIPE_UP"
+msgstr "Swipe up"
+
+
+msgid "IDS_SWIPE_DOWN"
+msgstr "Swipe down"
+
+
+msgid "IDS_SWIPE_LEFT"
+msgstr "Swipe left"
+
+
+msgid "IDS_SWIPE_RIGHT"
+msgstr "Swipe right"
+
+
+msgid "IDS_TURN_ON_AUTO_SCROLL"
+msgstr "Turn on auto scroll"
+
+
+msgid "IDS_TURN_OFF_AUTO_SCROLL"
+msgstr "Turn off auto scroll"
+
+
+msgid "IDS_SPEED_UP_AUTO_SCROLL"
+msgstr "Speed up auto scroll"
+
+
+msgid "IDS_SLOW_DOWN_AUTO_SCROLL"
+msgstr "Slow down auto scroll"
+
+
+msgid "IDS_SCROLL_UP"
+msgstr "Scroll up"
+
+
+msgid "IDS_SCROLL_DOWN"
+msgstr "Scroll down"
+
+
+msgid "IDS_SCROLL_TOP"
+msgstr "Scroll Top"
+
+
+msgid "IDS_DRAG"
+msgstr "Drag"
+
+
+msgid "IDS_DONE"
+msgstr "Done"
+
+
+msgid "IDS_CANCEL"
+msgstr "Cancel"
+
+
+msgid "IDS_ZOOM_IN"
+msgstr "Zoom in"
+
+
+msgid "IDS_ZOOM_OUT"
+msgstr "Zoom out"
+
+
+msgid "IDS_SOUND"
+msgstr "Sound"
+
+msgid "IDS_VIBRATION"
+msgstr "Vibration"
+
+msgid "IDS_MUTE"
+msgstr "Mute"
+
+
+msgid "IDS_LOCK"
+msgstr "Lock"
+
+
+msgid "IDS_CAPTURE_SCREENSHOT"
+msgstr "Capture screenshot"
+
+
+msgid "IDS_ROTATE_LEFT"
+msgstr "Rotate left"
+
+
+msgid "IDS_ROTATE_RIGHT"
+msgstr "Rotate right"
+
+
+msgid "IDS_ROTATE_TO_PORTRAIT"
+msgstr "Rotate to portrait"
+
+
+msgid "IDS_SPEED_UP_SCANING"
+msgstr "Speed up scaning"
+
+
+msgid "IDS_SLOW_DOWN_SCANING"
+msgstr "Slow down scaning"
+
+
+msgid "IDS_ROW_SCAN"
+msgstr "Row scan"
+
+
+msgid "IDS_POINT_SCAN"
+msgstr "Point scan"
+
+
+msgid "IDS_TOP_TO_BOTTOM"
+msgstr "Top to bottom"
+
+
+msgid "IDS_BOTTOM_TO_TOP"
+msgstr "Bottom to top"
+
+
+msgid "IDS_TURN_ON_SOUND"
+msgstr "Turn on sound"
+
+
+msgid "IDS_TURN_OFF_SOUND"
+msgstr "Turn off sound"
+
+
+msgid "IDS_TURN_ON_VOICE"
+msgstr "Turn on voice"
+
+
+msgid "IDS_TURN_OFF_VOICE"
+msgstr "Turn off voice"
+
+
+msgid "IDS_MORE_SETTINGS"
+msgstr "More settings"
+
+
+msgid "IDS_CHARACTER"
+msgstr "Character"
+
+
+msgid "IDS_WORD"
+msgstr "Word"
+
+
+msgid "IDS_LINE"
+msgstr "Line"
+
+
+msgid "IDS_PARAGRAPH"
+msgstr "Paragraph"
+
+
+msgid "IDS_RINGTONE_VOLUME_INC"
+msgstr "Ringtone volume +"
+
+
+msgid "IDS_RINGTONE_VOLUME_DEC"
+msgstr "Ringtone volume -"
+
+
+msgid "IDS_MEDIA_VOLUME_INC"
+msgstr "Media volume +"
+
+
+msgid "IDS_MEDIA_VOLUME_DEC"
+msgstr "Media volume -"
+
+
+msgid "IDS_TAP_HOME_BUTTON_X2"
+msgstr "Tap Home button x2"
+
+
+msgid "IDS_TAP_HOME_BUTTON_X3"
+msgstr "Tap Home button x3"
+
+
+msgid "IDS_VIEW_POWER_KEY_MENU"
+msgstr "View Power Key menu"
+
+
+msgid "IDS_NOTI_VOLUME_INC"
+msgstr "Noti. volume +"
+
+
+msgid "IDS_NOTI_VOLUME_DEC"
+msgstr "Noti. volume -"
+
+
+msgid "IDS_AUTO_SCROLL"
+msgstr "Auto scroll"
+
+
+msgid "IDS_SCREEN_ROTATION"
+msgstr "Screen rotation"
+
+
+msgid "IDS_GESTURES"
+msgstr "Gestures"
+
+
+msgid "IDS_ACTIONS"
+msgstr "Actions"
+
+
+msgid "IDS_SETTINGS"
+msgstr "Settings"
+
+
+msgid "IDS_BUTTONS_AND_KEYS"
+msgstr "Buttons and keys"
+
+
+msgid "IDS_EDIT_TEXT"
+msgstr "Edit text"
+
+
+msgid "IDS_GRANULARITY_SETTINGS"
+msgstr "Granularity settings"
\ No newline at end of file
VConf.cpp
ActivityChangeRequest.cpp
AutoScanOnActivity.cpp
+ MenuBuilder.cpp
)
ADD_LIBRARY(universal-switch-obj OBJECT ${SRCS})
--- /dev/null
+#include "MenuBuilder.hpp"
+#include "VConf.hpp"
+#include "UniversalSwitchLog.hpp"
+
+
+MenuItem::MenuItem(std::vector<std::string> names, std::string imgPath, std::string activityType, std::string key)
+ : names(std::move(names)), imgPath(std::move(imgPath)), activityType(std::move(activityType)), key(std::move(key)) {}
+
+std::string MenuItem::getName()
+{
+ return gettext(names[key.empty() ? 0 : getMessageIndex()].c_str());
+}
+
+std::string MenuItem::getIcon()
+{
+ return imgPath;
+}
+
+std::string MenuItem::getActivityType()
+{
+ return activityType;
+}
+
+std::string MenuItem::getKey()
+{
+ return key;
+}
+
+int MenuItem::getMessageIndex() //works for Universal Switch keys, TODO check system keys
+{
+ auto val = VConfSingleton::instance().get(key.c_str(), 0) - 1;
+ if (val >= static_cast<int>(names.size()) || val < 0) {
+ ERROR("Wrong message index from vconf, using default value");
+ return 0;
+ }
+ return val;
+}
+
+
+MenuMap::MenuMap()
+{
+ std::string defaultImg = std::string(ICONS_DIR) + std::string("/tizen.png");
+ auto tap = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TAP"},
+ defaultImg
+ );
+ auto homeScreen = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_HOME_SCREEN"},
+ defaultImg
+ );
+ auto back = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_BACK"},
+ defaultImg,
+ "SELECT");
+ auto openCloseNotifications = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_OPEN_NOTI_PANEL", "IDS_CLOSE_NOTI_PANEL"},
+ defaultImg
+ );//TODO add settings key, when activity will be ready;
+ auto recentApps = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_RECENT_APPS"},
+ defaultImg
+ );
+ auto accept = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ACCEPT"},
+ defaultImg
+ );
+ auto reject = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_REJECT"},
+ defaultImg
+ );
+ auto endCall = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_END_CALL"},
+ defaultImg
+ );
+ auto leftPage = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_LEFT_PAGE"},
+ defaultImg
+ );
+ auto rightPage = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_RIGHT_PAGE"},
+ defaultImg
+ );
+ auto increase = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_INCREASE"},
+ defaultImg
+ );
+ auto decrease = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_DECREASE"},
+ defaultImg
+ );
+ auto selectionMode = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SELECTION_MODE"},
+ defaultImg
+ );
+ auto selectAll = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SELECT_ALL"},
+ defaultImg
+ );
+ auto previous = std::make_shared<MenuItem>(
+ std::vector<std::string> { "IDS_PREVIOUS_CHARACTER", "IDS_PREVIOUS_WORD", "IDS_PREVIOUS_LINE", "IDS_PREVIOUS_PARAGRAPH"},
+ defaultImg,
+ "",/*TODO add activity*/
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_GRANULARITY_UNIT");
+ auto next = std::make_shared<MenuItem>(
+ std::vector<std::string> { "IDS_NEXT_CHARACTER", "IDS_NEXT_WORD", "IDS_NEXT_LINE", "IDS_NEXT_PARAGRAPH"},
+ defaultImg,
+ "",/*TODO add activity*/
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_GRANULARITY_UNIT");
+ auto copy = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_COPY"},
+ defaultImg
+ );
+ auto paste = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_PASTE"},
+ defaultImg
+ );
+ auto cut = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_CUT"},
+ defaultImg
+ );
+ auto touchHold = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TOUCH_AND_HOLD"},
+ defaultImg
+ );
+ auto touchHoldThenDrag = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TOUCH_HOLD_THEN_DRAG"},
+ defaultImg
+ );
+ auto swipeUp = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SWIPE_UP"},
+ defaultImg
+ );
+ auto swipeDown = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SWIPE_DOWN"},
+ defaultImg
+ );
+ auto swipeLeft = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SWIPE_LEFT"},
+ defaultImg
+ );
+ auto swipeRight = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SWIPE_RIGHT"},
+ defaultImg
+ );
+ auto turnOnOffAutoScroll = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TURN_ON_AUTO_SCROLL", "IDS_TURN_OFF_AUTO_SCROLL"},
+ defaultImg,
+ "",/*TODO add activity*/
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_AUTO_SCROLL");
+ auto speedUpAutoScroll = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SPEED_UP_AUTO_SCROLL"},
+ defaultImg
+ );
+ auto slowDownAutoScroll = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SLOW_DOWN_AUTO_SCROLL"},
+ defaultImg
+ );
+ auto scrollUp = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SCROLL_UP"},
+ defaultImg
+ );
+ auto scrollDown = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SCROLL_DOWN"},
+ defaultImg
+ );
+ auto scrollTop = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SCROLL_TOP"},
+ defaultImg
+ );
+ auto drag = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_DRAG"},
+ defaultImg
+ );
+ auto done = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_DONE"},
+ defaultImg
+ );
+ auto cancel = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_CANCEL"},
+ defaultImg
+ );
+ auto zoomIn = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ZOOM_IN"},
+ defaultImg
+ );
+ auto zoomOut = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ZOOM_OUT"},
+ defaultImg
+ );
+ auto soundVibrationMute = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SOUND", "IDS_VIBRATION", "IDS_MUTE"},
+ defaultImg
+ );//TODO add settings key, when activity will be ready
+ auto lock = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_LOCK"},
+ defaultImg
+ );
+ auto captureScreenshot = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_CAPTURE_SCREENSHOT"},
+ defaultImg
+ );
+ auto rotateLeft = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ROTATE_LEFT"},
+ defaultImg
+ );
+ auto rotateRight = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ROTATE_RIGHT"},
+ defaultImg
+ );
+ auto rotateToPortrait = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ROTATE_TO_PORTRAIT"},
+ defaultImg
+ );
+ auto speedUpScaning = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SPEED_UP_SCANING"},
+ defaultImg
+ );
+ auto slowDownScaning = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SLOW_DOWN_SCANING"},
+ defaultImg
+ );
+ auto pointRowScan = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ROW_SCAN", "IDS_POINT_SCAN"},
+ defaultImg,
+ ""/*TODO add activity*/,
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD");
+ auto scanMethod = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_BOTTOM_TO_TOP", "IDS_TOP_TO_BOTTOM"},
+ defaultImg,
+ ""/*TODO add activity*/,
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL");
+ auto turnOnOffSound = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TURN_ON_SOUND", "IDS_TURN_OFF_SOUND"},
+ defaultImg,
+ ""/*TODO add activity*/,
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_SOUND");
+ auto turnOnOffVoice = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TURN_ON_VOICE", "IDS_TURN_OFF_VOICE"},
+ defaultImg,
+ ""/*TODO add activity*/,
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_VOICE");
+ auto moreSettings = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_MORE_SETTINGS"},
+ defaultImg
+ );
+ auto character = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_CHARACTER"},
+ defaultImg
+ );
+ auto word = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_WORD"},
+ defaultImg
+ );
+ auto line = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_LINE"},
+ defaultImg
+ );
+ auto paragraph = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_PARAGRAPH"},
+ defaultImg
+ );
+ auto ringtoneVolIncrease = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_RINGTONE_VOLUME_INC"},
+ defaultImg
+ );
+ auto ringtoneVolDecrease = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_RINGTONE_VOLUME_DEC"},
+ defaultImg
+ );
+ auto mediaVolumeIncrease = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_MEDIA_VOLUME_INC"},
+ defaultImg
+ );
+ auto mediaVolumeDecrease = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_MEDIA_VOLUME_DEC"},
+ defaultImg
+ );
+ auto tapHomeButtonx2 = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TAP_HOME_BUTTON_X2"},
+ defaultImg
+ );
+ auto tapHomeButtonx3 = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_TAP_HOME_BUTTON_X3"},
+ defaultImg
+ );
+ auto viewPowerKeyMenu = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_VIEW_POWER_KEY_MENU"},
+ defaultImg
+ );
+ auto notiVolumeIncrease = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_NOTI_VOLUME_INC"},
+ defaultImg
+ );
+ auto notiVolumeDecrease = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_NOTI_VOLUME_DEC"},
+ defaultImg
+ );
+ auto autoScroll = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_AUTO_SCROLL"},
+ defaultImg
+ );
+ auto ScreenRotation = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SCREEN_ROTATION"},
+ defaultImg
+ );
+ auto gestures = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_GESTURES"},
+ defaultImg
+ );
+ auto actions = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_ACTIONS"},
+ defaultImg
+ );
+ auto settings = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_SETTINGS"},
+ defaultImg
+ );
+ auto buttonsAndKeys = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_BUTTONS_AND_KEYS"},
+ defaultImg
+ );
+ auto editText = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_EDIT_TEXT"},
+ defaultImg
+ );
+ auto granularitySettings = std::make_shared<MenuItem>(
+ std::vector<std::string> {"IDS_GRANULARITY_SETTINGS"},
+ defaultImg
+ );
+ auto emptyItem = std::make_shared<MenuItem>(
+ std::vector<std::string> {""},
+ "");
+
+
+ addToMap("menu-main-normal", {tap, gestures, actions, settings, recentApps, homeScreen, back, buttonsAndKeys});
+ addToMap("menu-main-home-apps", {tap, leftPage, rightPage, emptyItem, gestures, actions, settings, recentApps, homeScreen, back, buttonsAndKeys});
+ addToMap("menu-main-slider", {increase, decrease, emptyItem, emptyItem, tap, gestures, actions, settings, recentApps, homeScreen, back, buttonsAndKeys});
+ addToMap("menu-main-editable-text", {tap, editText, emptyItem, emptyItem, gestures, actions, settings, recentApps, homeScreen, back, buttonsAndKeys});
+ addToMap("menu-main-sip", {tap, touchHold});
+ addToMap("menu-main-incoming-call", {tap, accept, reject, emptyItem, gestures, actions, settings, recentApps, homeScreen, back, buttonsAndKeys});
+ addToMap("menu-main-during-call", {tap, endCall, emptyItem, emptyItem, gestures, actions, settings, recentApps, homeScreen, back, buttonsAndKeys});
+ addToMap("menu-gestures", {swipeUp, swipeDown, swipeLeft, swipeRight, autoScroll, touchHold, drag, touchHoldThenDrag});
+ addToMap("menu-actions", {zoomIn, zoomOut, ScreenRotation, soundVibrationMute, lock, openCloseNotifications, captureScreenshot});
+ addToMap("menu-rotate-screen", {rotateLeft, rotateToPortrait, rotateRight});
+ addToMap("menu-settings-auto-scan-off", {pointRowScan, scanMethod, turnOnOffSound, turnOnOffVoice, moreSettings});
+ addToMap("menu-settings-auto-scan-on", {speedUpScaning, slowDownScaning, pointRowScan, scanMethod, turnOnOffSound, turnOnOffVoice, moreSettings});
+ addToMap("menu-buttons-keys", {ringtoneVolIncrease, ringtoneVolDecrease, mediaVolumeIncrease, mediaVolumeDecrease,
+ tapHomeButtonx2, tapHomeButtonx3, viewPowerKeyMenu
+ });
+ addToMap("menu-buttons-keys-wifi", {notiVolumeIncrease, notiVolumeDecrease, mediaVolumeIncrease, mediaVolumeDecrease,
+ tapHomeButtonx2, tapHomeButtonx3, viewPowerKeyMenu
+ });
+ addToMap("menu-edit-text", {selectionMode, selectAll, previous, next, copy, paste, cut, granularitySettings});
+ addToMap("menu-auto-scroll-off", {turnOnOffAutoScroll, scrollUp, scrollDown, scrollTop});
+ addToMap("menu-auto-scroll-on", {turnOnOffAutoScroll, speedUpAutoScroll, slowDownAutoScroll});
+ addToMap("menu-granularity", {character, word, line, paragraph});
+}
+
+std::vector<std::shared_ptr<MenuItem>> MenuMap::find(std::string searchKey)
+{
+ std::vector<std::shared_ptr<MenuItem>> returnVector;
+ auto keyRange = map.equal_range(searchKey);
+ for (auto ii = keyRange.first; ii != keyRange.second; ++ii)
+ returnVector.push_back(ii->second);
+
+ return returnVector;
+}
+
+void MenuMap::addToMap(std::string menu, std::vector<std::shared_ptr<MenuItem>> menuVector)
+{
+ while (!menuVector.empty()) {
+ map.insert(std::make_pair(menu, menuVector.back()));
+ menuVector.pop_back();
+ }
+}
+
+MenuMap &MenuMap::instance()
+{
+ static MenuMap instance;
+ return instance;
+}
\ No newline at end of file
--- /dev/null
+#ifndef MENU_BUILDER_HPP
+#define MENU_BUILDER_HPP
+
+#include "Singleton.hpp"
+
+#include <vector>
+#include <string>
+#include <map>
+#include <memory>
+
+
+class MenuItem
+{
+public:
+ MenuItem(std::vector<std::string> names, std::string imgPath, std::string activityType = "", std::string key = "");
+
+ std::string getName();
+ std::string getIcon();
+ std::string getActivityType();
+ std::string getKey();
+
+private:
+ std::vector<std::string> names;
+ std::string imgPath;
+ std::string activityType;
+ std::string key;
+
+ int getMessageIndex();
+};
+
+class MenuMap : public SingletonBase
+{
+public:
+ static MenuMap &instance();
+
+ std::vector<std::shared_ptr<MenuItem>> find(std::string searchKey);
+
+private:
+ std::multimap<std::string, std::shared_ptr<MenuItem>> map;
+
+ MenuMap();
+ void addToMap(std::string menu, std::vector<std::shared_ptr<MenuItem>> menuVector);
+};
+
+#endif
\ No newline at end of file
void ScanningProperties::registerCallbacks()
{
vconf_notify_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD", methodCb, this);
- vconf_notify_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIR_VERTICAL", directionVerticalCb, this);
- vconf_notify_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIR_HORIZONTAL", directionHorizontalCb, this);
+ vconf_notify_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL", directionVerticalCb, this);
+ vconf_notify_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_HORIZONTAL", directionHorizontalCb, this);
vconf_notify_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_NUM_OF_SCANS", loopLimitToInactionCb, this);
vconf_notify_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_PT_SPEED", speedCb, this);
//TODO: add keys for RowScanner
void ScanningProperties::unregisterCallbacks()
{
vconf_ignore_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD", methodCb);
- vconf_ignore_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIR_VERTICAL", directionVerticalCb);
- vconf_ignore_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIR_HORIZONTAL", directionHorizontalCb);
+ vconf_ignore_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL", directionVerticalCb);
+ vconf_ignore_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_HORIZONTAL", directionHorizontalCb);
vconf_ignore_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_NUM_OF_SCANS", loopLimitToInactionCb);
vconf_ignore_key_changed(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_PT_SPEED", speedCb);
//TODO: add keys for RowScanner
{
updateData(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD", this, toScanningMethod, &ScanningProperties::setCachedScanningMethod);
- updateData(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIR_VERTICAL", this, toScanningDirectionVertical, &ScanningProperties::setCachedScanningDirectionVertical);
+ updateData(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL", this, toScanningDirectionVertical, &ScanningProperties::setCachedScanningDirectionVertical);
- updateData(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIR_HORIZONTAL", this, toScanningDirectionHorizontal, &ScanningProperties::setCachedScanningDirectionHorizontal);
+ updateData(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_HORIZONTAL", this, toScanningDirectionHorizontal, &ScanningProperties::setCachedScanningDirectionHorizontal);
updateData(VCONF_PREFIX "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_NUM_OF_SCANS", this, toInt, &ScanningProperties::setCachedLoopLimitToInaction);
#include "UniversalSwitchLog.hpp"
#include "Window.hpp"
-
#include "ScreenScannerManager.hpp"
#include <tizen.h>
#include <app.h>
#include <Elementary.h>
+#include <vconf.h>
+
+static void _setting_time_lang_changed(app_event_info_h event_info, void *data)
+{
+ char *lang = NULL;
+ if (app_event_get_language(event_info, &lang) == APP_ERROR_NONE) {
+ DEBUG("Language is changed : %s", lang);
+ elm_language_set(lang);
+ elm_config_all_flush();
+ free(lang);
+ } else {
+ ERROR("Cannot get language from event_info");
+ }
+}
bool app_create(void *data)
{
DEBUG("App create");
- ScreenScannerManager::instance().startAutoscanning();
-
return true;
}
{
DEBUG("app termination procedure");
- ScreenScannerManager::instance().stopAutoscanning();
-
return;
}
.app_control = app_control
};
+ app_event_handler_h handler;
+ ui_app_add_event_handler(&handler, APP_EVENT_LANGUAGE_CHANGED, _setting_time_lang_changed, nullptr);
+
return ui_app_main(argc, argv, &event_callback, nullptr);
}
ENDFUNCTION()
-INSTALL(PROGRAMS VConfImplTests_init.sh DESTINATION ${TESTS_INSTALL_DIR})
+INSTALL(PROGRAMS VConf_init.sh DESTINATION ${TESTS_INSTALL_DIR})
CREATE_TEST(VConfImplTests.cpp)
CREATE_TEST(ConfigurationTests.cpp)
CREATE_TEST(ActivityProcessingTests.cpp)
+CREATE_TEST(MenuBuilderTests.cpp)
--- /dev/null
+#include "VConf.hpp"
+#include "MenuBuilder.hpp"
+
+#include <gtest/gtest.h>
+
+class MenuBuilderTest : public ::testing::Test
+{
+public:
+ void setKeys(int val)
+ {
+ VConfSingleton::instance().set("__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_AUTO_SCROLL", val);
+ VConfSingleton::instance().set("__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD", val);
+ VConfSingleton::instance().set("__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL", val);
+ VConfSingleton::instance().set("__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_SOUND", val);
+ VConfSingleton::instance().set("__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_VOICE", val);
+ VConfSingleton::instance().set("__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_GRANULARITY_UNIT", val);
+ }
+
+ void SetUp()
+ {
+ setKeys(1);
+ }
+
+ void TearDown()
+ {
+ setKeys(1);
+ }
+
+ void testMenuContent(std::string menuName, std::vector<std::string> expectedMenuItemsNames, std::vector<std::string> expectedMenuItemsKeys = {})
+ {
+ auto actualMenuItems = MenuMap::instance().find(menuName);
+ ASSERT_EQ(actualMenuItems.size(), expectedMenuItemsNames.size());
+ if (!expectedMenuItemsKeys.empty())
+ ASSERT_EQ(actualMenuItems.size(), expectedMenuItemsKeys.size());
+
+ for (auto ii = 0u; ii < actualMenuItems.size(); ++ii) {
+ EXPECT_EQ(actualMenuItems[ii]->getName(), expectedMenuItemsNames[actualMenuItems.size() - 1 - ii]);
+ if (!expectedMenuItemsKeys.empty())
+ EXPECT_EQ(actualMenuItems[ii]->getKey(), expectedMenuItemsKeys[actualMenuItems.size() - 1 - ii]);
+ }
+ }
+};
+
+TEST_F(MenuBuilderTest, checkContentOfMenuMainNormal)
+{
+ testMenuContent("menu-main-normal", {
+ "IDS_TAP", "IDS_GESTURES", "IDS_ACTIONS", "IDS_SETTINGS", "IDS_RECENT_APPS",
+ "IDS_HOME_SCREEN", "IDS_BACK", "IDS_BUTTONS_AND_KEYS"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuMainHomeApps)
+{
+ testMenuContent("menu-main-home-apps", {
+ "IDS_TAP", "IDS_LEFT_PAGE", "IDS_RIGHT_PAGE", "", "IDS_GESTURES", "IDS_ACTIONS", "IDS_SETTINGS",
+ "IDS_RECENT_APPS", "IDS_HOME_SCREEN", "IDS_BACK", "IDS_BUTTONS_AND_KEYS"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuMainSlider)
+{
+ testMenuContent("menu-main-slider", {
+ "IDS_INCREASE", "IDS_DECREASE", "", "", "IDS_TAP", "IDS_GESTURES", "IDS_ACTIONS",
+ "IDS_SETTINGS", "IDS_RECENT_APPS", "IDS_HOME_SCREEN", "IDS_BACK", "IDS_BUTTONS_AND_KEYS"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuMainEditableText)
+{
+ testMenuContent("menu-main-editable-text", {
+ "IDS_TAP", "IDS_EDIT_TEXT", "", "", "IDS_GESTURES", "IDS_ACTIONS",
+ "IDS_SETTINGS", "IDS_RECENT_APPS", "IDS_HOME_SCREEN", "IDS_BACK", "IDS_BUTTONS_AND_KEYS"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMainMenuSip)
+{
+ testMenuContent("menu-main-sip", {
+ "IDS_TAP", "IDS_TOUCH_AND_HOLD"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuMainIncomingCall)
+{
+ testMenuContent("menu-main-incoming-call", {
+ "IDS_TAP", "IDS_ACCEPT", "IDS_REJECT", "", "IDS_GESTURES", "IDS_ACTIONS", "IDS_SETTINGS",
+ "IDS_RECENT_APPS", "IDS_HOME_SCREEN", "IDS_BACK", "IDS_BUTTONS_AND_KEYS"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuMainDuringCall)
+{
+ testMenuContent("menu-main-during-call", {
+ "IDS_TAP", "IDS_END_CALL", "", "", "IDS_GESTURES", "IDS_ACTIONS", "IDS_SETTINGS",
+ "IDS_RECENT_APPS", "IDS_HOME_SCREEN", "IDS_BACK", "IDS_BUTTONS_AND_KEYS"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuGestures)
+{
+ testMenuContent("menu-gestures", {
+ "IDS_SWIPE_UP", "IDS_SWIPE_DOWN", "IDS_SWIPE_LEFT", "IDS_SWIPE_RIGHT",
+ "IDS_AUTO_SCROLL", "IDS_TOUCH_AND_HOLD", "IDS_DRAG", "IDS_TOUCH_HOLD_THEN_DRAG"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuActions)
+{
+ testMenuContent("menu-actions", {
+ "IDS_ZOOM_IN", "IDS_ZOOM_OUT", "IDS_SCREEN_ROTATION", "IDS_SOUND",
+ "IDS_LOCK", "IDS_OPEN_NOTI_PANEL", "IDS_CAPTURE_SCREENSHOT"
+ }/*TODO complete test when sound, and noti. panel activities will be ready*/);
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuRotateScreen)
+{
+ testMenuContent("menu-rotate-screen", {
+ "IDS_ROTATE_LEFT", "IDS_ROTATE_TO_PORTRAIT", "IDS_ROTATE_RIGHT"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuSettings)
+{
+ testMenuContent("menu-settings-auto-scan-off", {
+ "IDS_ROW_SCAN", "IDS_BOTTOM_TO_TOP", "IDS_TURN_ON_SOUND", "IDS_TURN_ON_VOICE", "IDS_MORE_SETTINGS"
+ }, {
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_SOUND",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_VOICE",
+ ""
+ });
+ setKeys(2);
+ testMenuContent("menu-settings-auto-scan-on", {
+ "IDS_SPEED_UP_SCANING", "IDS_SLOW_DOWN_SCANING", "IDS_POINT_SCAN", "IDS_TOP_TO_BOTTOM",
+ "IDS_TURN_OFF_SOUND", "IDS_TURN_OFF_VOICE", "IDS_MORE_SETTINGS"
+ }, {
+ "", "",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_SOUND",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_VOICE",
+ ""
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuButtonsKeys)
+{
+ testMenuContent("menu-buttons-keys", {
+ "IDS_RINGTONE_VOLUME_INC", "IDS_RINGTONE_VOLUME_DEC", "IDS_MEDIA_VOLUME_INC", "IDS_MEDIA_VOLUME_DEC",
+ "IDS_TAP_HOME_BUTTON_X2", "IDS_TAP_HOME_BUTTON_X3", "IDS_VIEW_POWER_KEY_MENU"
+ });
+ testMenuContent("menu-buttons-keys-wifi", {
+ "IDS_NOTI_VOLUME_INC", "IDS_NOTI_VOLUME_DEC", "IDS_MEDIA_VOLUME_INC", "IDS_MEDIA_VOLUME_DEC",
+ "IDS_TAP_HOME_BUTTON_X2", "IDS_TAP_HOME_BUTTON_X3", "IDS_VIEW_POWER_KEY_MENU"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuEditText)
+{
+ testMenuContent("menu-edit-text", {
+ "IDS_SELECTION_MODE", "IDS_SELECT_ALL", "IDS_PREVIOUS_CHARACTER", "IDS_NEXT_CHARACTER",
+ "IDS_COPY", "IDS_PASTE", "IDS_CUT", "IDS_GRANULARITY_SETTINGS"
+ }, {
+ "", "",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_GRANULARITY_UNIT",
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_GRANULARITY_UNIT",
+ "", "", "", ""
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuAutoScroll)
+{
+ testMenuContent("menu-auto-scroll-off", {
+ "IDS_TURN_ON_AUTO_SCROLL", "IDS_SCROLL_UP", "IDS_SCROLL_DOWN", "IDS_SCROLL_TOP"
+ }, {
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_AUTO_SCROLL",
+ "", "", ""
+ });
+ setKeys(2);
+ testMenuContent("menu-auto-scroll-on", {
+ "IDS_TURN_OFF_AUTO_SCROLL", "IDS_SPEED_UP_AUTO_SCROLL", "IDS_SLOW_DOWN_AUTO_SCROLL"
+ }, {
+ "__KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_AUTO_SCROLL",
+ "", ""
+ });
+}
+
+TEST_F(MenuBuilderTest, checkContentOfMenuGranularity)
+{
+ testMenuContent("menu-granularity", {
+ "IDS_CHARACTER", "IDS_WORD", "IDS_LINE", "IDS_PARAGRAPH"
+ });
+}
+
+TEST_F(MenuBuilderTest, checkAllGranularityOptions)
+{
+ auto actualMenuItems = MenuMap::instance().find("menu-edit-text");
+ auto next = actualMenuItems[4];
+ auto prev = actualMenuItems[5];
+ auto requiredStates = std::vector<std::string> {"CHARACTER", "WORD", "LINE", "PARAGRAPH"};
+ for (auto ii = 0u; ii <= requiredStates.size(); ++ii) {
+ setKeys(ii + 1);
+ EXPECT_EQ(prev->getName(), "IDS_PREVIOUS_" + requiredStates[ii % requiredStates.size()]);
+ EXPECT_EQ(next->getName(), "IDS_NEXT_" + requiredStates[ii % requiredStates.size()]);
+ }
+
+ setKeys(0xdeadbeef);
+ EXPECT_EQ(prev->getName(), "IDS_PREVIOUS_" + requiredStates[0]);
+ EXPECT_EQ(next->getName(), "IDS_NEXT_" + requiredStates[0]);
+}
+
+TEST_F(MenuBuilderTest, checkTranslations)
+{
+ auto menuItem = MenuMap::instance().find("menu-main-normal").back();
+ EXPECT_EQ(menuItem->getName(), "IDS_TAP");
+ bindtextdomain(PROJECT_NAME, LOCALE_DIR);
+ textdomain(PROJECT_NAME);
+ setlocale(LC_ALL, "en_US.UTF-8");
+ EXPECT_EQ(menuItem->getName(), "Tap");
+}
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-
-
-vconftool set -f -t int VconfImplTest/int/20 20
-vconftool set -f -t string VconfImplTest/string/foo "foo"
-vconftool set -f -t bool VconfImplTest/bool/true 1
-vconftool set -f -t double VconfImplTest/double/3.14 3.14
-
-
-
--- /dev/null
+#!/bin/bash
+
+
+vconftool set -f -t int VconfImplTest/int/20 20
+vconftool set -f -t string VconfImplTest/string/foo "foo"
+vconftool set -f -t bool VconfImplTest/bool/true 1
+vconftool set -f -t double VconfImplTest/double/3.14 3.14
+
+vconftool set -f -t int __KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_AUTO_SCROLL 1
+vconftool set -f -t int __KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_METHOD 1
+vconftool set -f -t int __KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_SCAN_DIRECTION_VERTICAL 1
+vconftool set -f -t int __KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_SOUND 1
+vconftool set -f -t int __KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_FEEDBACK_VOICE 1
+vconftool set -f -t int __KEY_ACCESSIBILITY_UNIVERSAL_SWITCH_SETTINGS_GRANULARITY_UNIT 1