diff --git a/minuitwrp/events.cpp b/minuitwrp/events.cpp index 8abf0550..80794a1a 100644 --- a/minuitwrp/events.cpp +++ b/minuitwrp/events.cpp @@ -152,6 +152,13 @@ int vibrate(int timeout_ms) if (vib != nullptr) { vib->on((uint32_t)timeout_ms, nullptr); } +#elif defined(USE_SAMSUNG_HAPTICS) + /* Newer Samsung devices have duration file only + 0 in VIBRATOR_TIMEOUT_FILE means no vibration + Anything else is the vibration running for X milliseconds */ + if (std::ifstream(VIBRATOR_TIMEOUT_FILE).good()) { + write_to_file(VIBRATOR_TIMEOUT_FILE, tout); + } #else if (std::ifstream(LEDS_HAPTICS_ACTIVATE_FILE).good()) { write_to_file(LEDS_HAPTICS_DURATION_FILE, tout); diff --git a/minuitwrp/libminuitwrp_defaults.go b/minuitwrp/libminuitwrp_defaults.go index 92be0a09..802533a1 100644 --- a/minuitwrp/libminuitwrp_defaults.go +++ b/minuitwrp/libminuitwrp_defaults.go @@ -19,6 +19,10 @@ func globalFlags(ctx android.BaseContext) []string { cflags = append(cflags, "-DUSE_QTI_AIDL_HAPTICS") } + if getMakeVars(ctx, "TW_USE_SAMSUNG_HAPTICS") == "true" { + cflags = append(cflags, "-DUSE_SAMSUNG_HAPTICS") + } + if getMakeVars(ctx, "TW_TARGET_USES_QCOM_BSP") == "true" { cflags = append(cflags, "-DMSM_BSP") }