From 8cda898fbb1df0900829d370beeafea00e16ac78 Mon Sep 17 00:00:00 2001 From: volzhs Date: Tue, 27 Aug 2019 21:58:40 +0900 Subject: 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. --- platform/android/java/src/org/godotengine/godot/Godot.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'platform/android/java') 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); + } } } } -- cgit v1.2.3