summaryrefslogtreecommitdiff
path: root/platform/android/java/src/org
diff options
context:
space:
mode:
authorvolzhs <volzhs@gmail.com>2019-08-27 21:58:40 +0900
committervolzhs <volzhs@gmail.com>2019-08-27 22:01:45 +0900
commit8cda898fbb1df0900829d370beeafea00e16ac78 (patch)
tree881553c5dbb45bc60feaa6e8b6a4077eafe350f9 /platform/android/java/src/org
parent6cd00432c39d97f6fc1e23fff59be58c8764c115 (diff)
Suppress MissingPermission warning for Android vibration
It does check its permission every `vibrate_handheld()` calls. Vibrate permission is added by checking it on export settings. And there are some changes for deprecated method.
Diffstat (limited to 'platform/android/java/src/org')
-rw-r--r--platform/android/java/src/org/godotengine/godot/Godot.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java
index 7f71430805..1b3239777c 100644
--- a/platform/android/java/src/org/godotengine/godot/Godot.java
+++ b/platform/android/java/src/org/godotengine/godot/Godot.java
@@ -31,6 +31,7 @@
package org.godotengine.godot;
import android.Manifest;
+import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
@@ -56,6 +57,7 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Messenger;
+import android.os.VibrationEffect;
import android.os.Vibrator;
import android.provider.Settings.Secure;
import android.support.annotation.Keep;
@@ -325,12 +327,18 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
* Used by the native code (java_godot_wrapper.h) to vibrate the device.
* @param durationMs
*/
+ @SuppressLint("MissingPermission")
@Keep
private void vibrate(int durationMs) {
if (requestPermission("VIBRATE")) {
Vibrator v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
if (v != null) {
- v.vibrate(durationMs);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ v.vibrate(VibrationEffect.createOneShot(durationMs, VibrationEffect.DEFAULT_AMPLITUDE));
+ } else {
+ //deprecated in API 26
+ v.vibrate(durationMs);
+ }
}
}
}