Update GameActivity.java
This commit is contained in:
@@ -8,6 +8,7 @@ import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.VibrationEffect;
|
||||
import android.os.Vibrator;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
@@ -372,6 +373,36 @@ public class GameActivity extends SDLActivity {
|
||||
|
||||
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) {
|
||||
|
||||
v.vibrate (duration);
|
||||
@@ -394,5 +425,7 @@ public class GameActivity extends SDLActivity {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user