summaryrefslogtreecommitdiff
path: root/platform/android/java
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-08-21 21:10:22 +0200
committerGitHub <noreply@github.com>2019-08-21 21:10:22 +0200
commit1a4dbd9ee2fd471108dc4d217aacab74cf412925 (patch)
tree2563d9aa95cd5b9d5a1a15c76664df2e5d333be5 /platform/android/java
parente132c36261e832b7b461d97909bf15786acc85ba (diff)
parent4061e5bb75cf4ad338cd077713946711cd7c70ea (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.java18
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;
}