diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-08-21 21:10:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-21 21:10:22 +0200 |
commit | 1a4dbd9ee2fd471108dc4d217aacab74cf412925 (patch) | |
tree | 2563d9aa95cd5b9d5a1a15c76664df2e5d333be5 /platform/android/java | |
parent | e132c36261e832b7b461d97909bf15786acc85ba (diff) | |
parent | 4061e5bb75cf4ad338cd077713946711cd7c70ea (diff) |
Merge pull request #31437 from volzhs/vibrate-mobile
Support vibration for Android and iOS
Diffstat (limited to 'platform/android/java')
-rw-r--r-- | platform/android/java/src/org/godotengine/godot/Godot.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java index bfc65a3b78..f493b5f33f 100644 --- a/platform/android/java/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/src/org/godotengine/godot/Godot.java @@ -56,6 +56,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.Messenger; +import android.os.Vibrator; import android.provider.Settings.Secure; import android.support.v4.content.ContextCompat; import android.view.Display; @@ -98,6 +99,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC static final int MAX_SINGLETONS = 64; static final int REQUEST_RECORD_AUDIO_PERMISSION = 1; static final int REQUEST_CAMERA_PERMISSION = 2; + static final int REQUEST_VIBRATE_PERMISSION = 3; private IStub mDownloaderClientStub; private IDownloaderService mRemoteService; private TextView mStatusText; @@ -324,6 +326,15 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC }); } + public void vibrate(int p_duration_ms) { + if (requestPermission("VIBRATE")) { + Vibrator v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); + if (v != null) { + v.vibrate(p_duration_ms); + } + } + } + public void restart() { // HACK: // @@ -989,6 +1000,13 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC return false; } } + + if (p_name.equals("VIBRATE")) { + if (ContextCompat.checkSelfPermission(this, Manifest.permission.VIBRATE) != PackageManager.PERMISSION_GRANTED) { + requestPermissions(new String[] { Manifest.permission.VIBRATE }, REQUEST_VIBRATE_PERMISSION); + return false; + } + } return true; } |