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

This commit is contained in:
Sam Lantinga 2018-08-21 11:07:56 -07:00
parent ad1e3c2a4c
commit b09b25f6e4
1 changed files with 6 additions and 0 deletions

View File

@ -11,6 +11,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.hardware.usb.*; import android.hardware.usb.*;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
@ -316,6 +317,11 @@ public class HIDDeviceManager {
protected void initializeBluetooth() { protected void initializeBluetooth() {
Log.d(TAG, "Initializing Bluetooth"); 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 // Find bonded bluetooth controllers and create SteamControllers for them
mBluetoothManager = (BluetoothManager)mContext.getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothManager = (BluetoothManager)mContext.getSystemService(Context.BLUETOOTH_SERVICE);
if (mBluetoothManager == null) { if (mBluetoothManager == null) {