diff options
author | volzhs <volzhs@gmail.com> | 2019-08-27 21:58:40 +0900 |
---|---|---|
committer | volzhs <volzhs@gmail.com> | 2019-08-27 22:01:45 +0900 |
commit | 8cda898fbb1df0900829d370beeafea00e16ac78 (patch) | |
tree | 881553c5dbb45bc60feaa6e8b6a4077eafe350f9 /platform/android/java/src/org | |
parent | 6cd00432c39d97f6fc1e23fff59be58c8764c115 (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.java | 10 |
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); + } } } } |