android: add vibrate compatibility with newer versions
This commit is contained in:
parent
528f15f117
commit
458b233e16
|
@ -2,7 +2,9 @@ package com.reicast.emulator.emu;
|
|||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.VibrationEffect;
|
||||
import android.os.Vibrator;
|
||||
import android.view.InputDevice;
|
||||
import android.view.MotionEvent;
|
||||
|
@ -430,8 +432,13 @@ public class VirtualJoystickDelegate {
|
|||
vibrate = false;
|
||||
}
|
||||
}
|
||||
if (doVibrate)
|
||||
vibrator.vibrate(Emulator.vibrationDuration);
|
||||
if (doVibrate) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
vibrator.vibrate(VibrationEffect.createOneShot(Emulator.vibrationDuration, VibrationEffect.DEFAULT_AMPLITUDE));
|
||||
} else {
|
||||
vibrator.vibrate(Emulator.vibrationDuration);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,8 @@ package com.reicast.emulator.periph;
|
|||
|
||||
import android.content.Context;
|
||||
import android.hardware.input.InputManager;
|
||||
import android.os.Build;
|
||||
import android.os.VibrationEffect;
|
||||
import android.os.Vibrator;
|
||||
import android.view.InputDevice;
|
||||
|
||||
|
@ -92,11 +94,16 @@ public final class InputDeviceManager implements InputManager.InputDeviceListene
|
|||
if (!vibrator.hasVibrator())
|
||||
return false;
|
||||
}
|
||||
// TODO API >= 26 (Android 8.0)
|
||||
if (power == 0)
|
||||
|
||||
if (power == 0) {
|
||||
vibrator.cancel();
|
||||
else
|
||||
vibrator.vibrate(duration_ms);
|
||||
} else {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
vibrator.vibrate(VibrationEffect.createOneShot(duration_ms, VibrationEffect.DEFAULT_AMPLITUDE));
|
||||
} else {
|
||||
vibrator.vibrate(duration_ms);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue