diff options
Diffstat (limited to '')
-rwxr-xr-x[-rw-r--r--] | gui/action.cpp | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/button.cpp | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/checkbox.cpp | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/keyboard.cpp | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/patternpassword.cpp | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/scrolllist.cpp | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/slider.cpp | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/terminal.cpp | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/theme/common/landscape.xml | 9 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/theme/common/languages/en.xml | 1 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/theme/common/portrait.xml | 9 | ||||
-rwxr-xr-x[-rw-r--r--] | gui/theme/common/watch.xml | 1 |
12 files changed, 57 insertions, 0 deletions
diff --git a/gui/action.cpp b/gui/action.cpp index d708dd467..11d9580fb 100644..100755 --- a/gui/action.cpp +++ b/gui/action.cpp @@ -516,8 +516,12 @@ void GUIAction::operation_end(const int operation_status) blankTimer.resetTimerAndUnblank(); property_set("twrp.action_complete", "1"); time(&Stop); + +#ifndef TW_NO_HAPTICS if ((int) difftime(Stop, Start) > 10) DataManager::Vibrate("tw_action_vibrate"); +#endif + LOGINFO("operation_end - status=%d\n", operation_status); } diff --git a/gui/button.cpp b/gui/button.cpp index dfae5e237..7c7f69f14 100644..100755 --- a/gui/button.cpp +++ b/gui/button.cpp @@ -248,7 +248,10 @@ int GUIButton::NotifyTouch(TOUCH_STATE state, int x, int y) } else { if (last_state == 0) { last_state = 1; + +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_button_vibrate"); +#endif if (mButtonLabel != NULL) mButtonLabel->isHighlighted = true; if (mButtonImg != NULL) diff --git a/gui/checkbox.cpp b/gui/checkbox.cpp index de63cba36..025a803a2 100644..100755 --- a/gui/checkbox.cpp +++ b/gui/checkbox.cpp @@ -179,7 +179,10 @@ int GUICheckbox::NotifyTouch(TOUCH_STATE state, int x __unused, int y __unused) lastState = (lastState == 0) ? 1 : 0; DataManager::SetValue(mVarName, lastState); +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_button_vibrate"); +#endif + } return 0; } diff --git a/gui/keyboard.cpp b/gui/keyboard.cpp index ca7006dc3..b6a772b01 100644..100755 --- a/gui/keyboard.cpp +++ b/gui/keyboard.cpp @@ -549,7 +549,11 @@ int GUIKeyboard::NotifyTouch(TOUCH_STATE state, int x, int y) bool repeatKey = false; Layout& lay = layouts[currentLayout - 1]; if (state == TOUCH_RELEASE && was_held == 0) { + +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_keyboard_vibrate"); +#endif + if (key.layout > 0) { // Switch layouts if (lay.is_caps && key.layout == lay.revert_layout && !CapsLockOn) { @@ -593,7 +597,11 @@ int GUIKeyboard::NotifyTouch(TOUCH_STATE state, int x, int y) was_held = 1; if (key.longpresskey > 0) { // Long Press Key + +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_keyboard_vibrate"); +#endif + PageManager::NotifyCharInput(key.longpresskey); } else diff --git a/gui/patternpassword.cpp b/gui/patternpassword.cpp index 5559f9dd8..a75ed156b 100644..100755 --- a/gui/patternpassword.cpp +++ b/gui/patternpassword.cpp @@ -370,7 +370,11 @@ int GUIPatternPassword::NotifyTouch(TOUCH_STATE state, int x, int y) mTrackingTouch = true; ResetActiveDots(); ConnectDot(dot_idx); + +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_button_vibrate"); +#endif + mCurLineX = x; mCurLineY = y; mNeedRender = true; @@ -386,7 +390,11 @@ int GUIPatternPassword::NotifyTouch(TOUCH_STATE state, int x, int y) { ConnectIntermediateDots(dot_idx); ConnectDot(dot_idx); + +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_button_vibrate"); +#endif + } mCurLineX = x; diff --git a/gui/scrolllist.cpp b/gui/scrolllist.cpp index ecfb5fe81..bf5a9b06d 100644..100755 --- a/gui/scrolllist.cpp +++ b/gui/scrolllist.cpp @@ -508,7 +508,10 @@ int GUIScrollList::NotifyTouch(TOUCH_STATE state, int x, int y) NotifySelect(selectedItem); mUpdate = 1; +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_button_vibrate"); +#endif + selectedItem = NO_ITEM; } else { // Start kinetic scrolling diff --git a/gui/slider.cpp b/gui/slider.cpp index fab5a2ea0..3c5f6526e 100644..100755 --- a/gui/slider.cpp +++ b/gui/slider.cpp @@ -208,7 +208,11 @@ int GUISlider::NotifyTouch(TOUCH_STATE state, int x, int y) return 0; if (sCurTouchX >= mRenderX + mRenderW - sTouchW) { + +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_button_vibrate"); +#endif + sAction->doActions(); } diff --git a/gui/terminal.cpp b/gui/terminal.cpp index b1799ce63..a4fed9104 100644..100755 --- a/gui/terminal.cpp +++ b/gui/terminal.cpp @@ -530,7 +530,11 @@ private: switch (ch) { case 7: // BEL + +#ifndef TW_NO_HAPTICS DataManager::Vibrate("tw_button_vibrate"); +#endif + break; case 8: // BS left(); diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml index 5bbfe9029..f6f14bc51 100644..100755 --- a/gui/theme/common/landscape.xml +++ b/gui/theme/common/landscape.xml @@ -3166,19 +3166,28 @@ <placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/> </fill> + <text style="text_m"> + <condition var1="tw_disable_haptics" var2="1"/> + <placement x="col1_x_left" y="%row4_y%" w="%content_width%"/> + <text>{@vibration_disabled=Vibration Disabled for Device}</text> + </text> + <slidervalue> + <condition var1="tw_disable_haptics" var2="0"/> <placement x="col1_x_left" y="%row4_y%" w="%content_width%"/> <text>{@button_vibration=Button Vibration:}</text> <data variable="tw_button_vibrate" min="0" max="300"/> </slidervalue> <slidervalue> + <condition var1="tw_disable_haptics" var2="0"/> <placement x="col1_x_left" y="%row9_y%" w="%content_width%"/> <text>{@kb_vibration=Keyboard Vibration:}</text> <data variable="tw_keyboard_vibrate" min="0" max="300"/> </slidervalue> <slidervalue> + <condition var1="tw_disable_haptics" var2="0"/> <placement x="col1_x_left" y="%row14_y%" w="%content_width%"/> <text>{@act_vibration=Action Vibration:}</text> <data variable="tw_action_vibrate" min="0" max="500"/> diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml index afba59a02..03d4e084c 100644..100755 --- a/gui/theme/common/languages/en.xml +++ b/gui/theme/common/languages/en.xml @@ -318,6 +318,7 @@ <string name="settings_tz_btn">Time Zone</string> <string name="settings_screen_btn">Screen</string> <string name="settings_screen_bright_btn">Screen Brightness</string> + <string name="vibration_disabled">Vibration is disabled for this device</string> <string name="settings_vibration_btn">Vibration</string> <string name="settings_language_btn">Language</string> <string name="time_zone_hdr">Time Zone</string> diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml index 11769227f..09b7c6b70 100644..100755 --- a/gui/theme/common/portrait.xml +++ b/gui/theme/common/portrait.xml @@ -3329,19 +3329,28 @@ <placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/> </fill> + <text style="text_m"> + <condition var1="tw_disable_haptics" var2="1"/> + <placement x="%indent%" y="%row4_y%"/> + <text>{@vibration_disabled=Vibration Disabled for Device}</text> + </text> + <slidervalue> + <condition var1="tw_disable_haptics" var2="0"/> <placement x="indent" y="%row4_y%" w="%content_width%"/> <text>{@button_vibration=Button Vibration:}</text> <data variable="tw_button_vibrate" min="0" max="300"/> </slidervalue> <slidervalue> + <condition var1="tw_disable_haptics" var2="0"/> <placement x="indent" y="%row9_y%" w="%content_width%"/> <text>{@kb_vibration=Keyboard Vibration:}</text> <data variable="tw_keyboard_vibrate" min="0" max="300"/> </slidervalue> <slidervalue> + <condition var1="tw_disable_haptics" var2="0"/> <placement x="indent" y="%row14_y%" w="%content_width%"/> <text>{@act_vibration=Action Vibration:}</text> <data variable="tw_action_vibrate" min="0" max="500"/> diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml index 83f4b63f2..d36bb2d5a 100644..100755 --- a/gui/theme/common/watch.xml +++ b/gui/theme/common/watch.xml @@ -3518,6 +3518,7 @@ </button> <button style="main_button"> + <condition var1="tw_disable_haptics" var2="0"/> <placement x="%col1_x_right%" y="%row6_y%"/> <text>{@settings_vibration_btn=Vibration}</text> <action function="page">settings_vibration</action> |