Browse Source

Don't crash if the app doesn't have Bluetooth permissions

Sam Lantinga 6 years ago
parent
commit
b09b25f6e4

+ 6 - 0
android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java

@@ -11,6 +11,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
 import android.hardware.usb.*;
 import android.os.Handler;
 import android.os.Looper;
@@ -316,6 +317,11 @@ public class HIDDeviceManager {
     protected void initializeBluetooth() {
         Log.d(TAG, "Initializing Bluetooth");
 
+        if (mContext.getPackageManager().checkPermission(android.Manifest.permission.BLUETOOTH, mContext.getPackageName()) != PackageManager.PERMISSION_GRANTED) {
+            Log.d(TAG, "Couldn't initialize Bluetooth, missing android.permission.BLUETOOTH");
+            return;
+        }
+
         // Find bonded bluetooth controllers and create SteamControllers for them
         mBluetoothManager = (BluetoothManager)mContext.getSystemService(Context.BLUETOOTH_SERVICE);
         if (mBluetoothManager == null) {