mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	Merge pull request #31713 from volzhs/fix-vibrate
Suppress MissingPermission warning for Android vibration
This commit is contained in:
		
						commit
						b7c46ed929
					
				
					 1 changed files with 9 additions and 1 deletions
				
			
		|  | @ -31,6 +31,7 @@ | ||||||
| package org.godotengine.godot; | package org.godotengine.godot; | ||||||
| 
 | 
 | ||||||
| import android.Manifest; | import android.Manifest; | ||||||
|  | import android.annotation.SuppressLint; | ||||||
| import android.app.Activity; | import android.app.Activity; | ||||||
| import android.app.ActivityManager; | import android.app.ActivityManager; | ||||||
| import android.app.AlertDialog; | import android.app.AlertDialog; | ||||||
|  | @ -56,6 +57,7 @@ import android.os.Build; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import android.os.Environment; | import android.os.Environment; | ||||||
| import android.os.Messenger; | import android.os.Messenger; | ||||||
|  | import android.os.VibrationEffect; | ||||||
| import android.os.Vibrator; | import android.os.Vibrator; | ||||||
| import android.provider.Settings.Secure; | import android.provider.Settings.Secure; | ||||||
| import android.support.annotation.Keep; | 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. | 	 * Used by the native code (java_godot_wrapper.h) to vibrate the device. | ||||||
| 	 * @param durationMs | 	 * @param durationMs | ||||||
| 	 */ | 	 */ | ||||||
|  | 	@SuppressLint("MissingPermission") | ||||||
| 	@Keep | 	@Keep | ||||||
| 	private void vibrate(int durationMs) { | 	private void vibrate(int durationMs) { | ||||||
| 		if (requestPermission("VIBRATE")) { | 		if (requestPermission("VIBRATE")) { | ||||||
| 			Vibrator v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); | 			Vibrator v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); | ||||||
| 			if (v != null) { | 			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); | ||||||
|  | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rémi Verschelde
						Rémi Verschelde