Update GameActivity.java

This commit is contained in:
Mihai Alexandru
2024-06-16 10:47:40 +03:00
committed by GitHub
parent 44852467f4
commit 3f5d797cf0

View File

@@ -8,6 +8,7 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.VibrationEffect;
import android.os.Vibrator; import android.os.Vibrator;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
@@ -372,6 +373,36 @@ public class GameActivity extends SDLActivity {
Vibrator v = (Vibrator)mSingleton.getSystemService (Context.VIBRATOR_SERVICE); Vibrator v = (Vibrator)mSingleton.getSystemService (Context.VIBRATOR_SERVICE);
if (v == null || !v.hasVibrator()) {
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (period == 0) {
v.vibrate (VibrationEffect.createOneShot(duration, VibrationEffect.DEFAULT_AMPLITUDE));
} else {
int periodMS = Math.max(1, (int) Math.ceil(period / 2.0));
int count = Math.max(1, (int) Math.ceil((duration / (double) period) * 2));
long[] pattern = new long[count];
for (int i = 0; i < count; i++) {
pattern[i] = periodMS;
}
v.vibrate (VibrationEffect.createWaveform(pattern, -1));
}
} else {
if (period == 0) { if (period == 0) {
v.vibrate (duration); v.vibrate (duration);
@@ -394,5 +425,7 @@ public class GameActivity extends SDLActivity {
} }
}
} }