diff --git a/minuitwrp/Android.mk b/minuitwrp/Android.mk index 99f9a237..2b5650da 100644 --- a/minuitwrp/Android.mk +++ b/minuitwrp/Android.mk @@ -10,6 +10,13 @@ LOCAL_SRC_FILES := \ graphics_utils.cpp \ events.cpp +ifeq ($(TW_SUPPORT_INPUT_1_2_HAPTICS),true) + ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 28; echo $$?),0) + LOCAL_SHARED_LIBRARIES += android.hardware.vibrator@1.2 libhidlbase + LOCAL_CFLAGS += -DUSE_QTI_HAPTICS + endif +endif + ifneq ($(TW_BOARD_CUSTOM_GRAPHICS),) $(warning ****************************************************************************) $(warning * TW_BOARD_CUSTOM_GRAPHICS support has been deprecated in TWRP. *) diff --git a/minuitwrp/events.cpp b/minuitwrp/events.cpp index a2a3d166..955acf31 100755 --- a/minuitwrp/events.cpp +++ b/minuitwrp/events.cpp @@ -28,6 +28,10 @@ #include #include +#ifdef USE_QTI_HAPTICS +#include +#endif + #include "../common.h" #include "minui.h" @@ -130,12 +134,18 @@ int vibrate(int timeout_ms) char tout[6]; sprintf(tout, "%i", timeout_ms); +#ifdef USE_QTI_HAPTICS + android::sp vib = android::hardware::vibrator::V1_2::IVibrator::getService(); + if (vib != nullptr) { + vib->on((uint32_t)timeout_ms); + } +#else if (std::ifstream(LEDS_HAPTICS_ACTIVATE_FILE).good()) { write_to_file(LEDS_HAPTICS_DURATION_FILE, tout); write_to_file(LEDS_HAPTICS_ACTIVATE_FILE, "1"); } else write_to_file(VIBRATOR_TIMEOUT_FILE, tout); - +#endif return 0; } #endif diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk index b73a597b..fcd78a3f 100755 --- a/prebuilt/Android.mk +++ b/prebuilt/Android.mk @@ -280,6 +280,12 @@ ifeq ($(TW_INCLUDE_CRYPTO), true) RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/keystore_cli RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/servicemanager RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.system.wifi.keystore@1.0.so + ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 28; echo $$?),0) + RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.vibrator@1.0.so + RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.vibrator@1.1.so + RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.vibrator@1.2.so + endif + ifneq ($(wildcard system/keymaster/keymaster_stl.cpp),) RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libkeymaster_portable.so RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libkeymaster_staging.so