OSDN Git Service

Merge "[Companion] Dont crash if started with bluetooth off" into oc-dev
authorEugene Susla <eugenesusla@google.com>
Thu, 29 Jun 2017 02:14:22 +0000 (02:14 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Thu, 29 Jun 2017 02:14:22 +0000 (02:14 +0000)
am: c55f7d2180

Change-Id: I024af9dfe70fb340b2dc481f8aad6b12351b56cb

packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java
services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java

index 3b29a6c..1e26231 100644 (file)
@@ -77,7 +77,7 @@ public class DeviceDiscoveryService extends Service {
 
     private BluetoothAdapter mBluetoothAdapter;
     private WifiManager mWifiManager;
-    private BluetoothLeScanner mBLEScanner;
+    @Nullable private BluetoothLeScanner mBLEScanner;
     private ScanSettings mDefaultScanSettings = new ScanSettings.Builder().build();
 
     private List<DeviceFilter<?>> mFilters;
@@ -185,7 +185,7 @@ public class DeviceDiscoveryService extends Service {
             mBluetoothAdapter.startDiscovery();
         }
 
-        if (shouldScan(mBLEFilters)) {
+        if (shouldScan(mBLEFilters) && mBLEScanner != null) {
             mBLEScanCallback = new BLEScanCallback();
             mBLEScanner.startScan(mBLEScanFilters, mDefaultScanSettings, mBLEScanCallback);
         }
@@ -224,7 +224,7 @@ public class DeviceDiscoveryService extends Service {
             unregisterReceiver(mBluetoothBroadcastReceiver);
             mBluetoothBroadcastReceiver = null;
         }
-        mBLEScanner.stopScan(mBLEScanCallback);
+        if (mBLEScanner != null) mBLEScanner.stopScan(mBLEScanCallback);
         if (mWifiBroadcastReceiver != null) {
             unregisterReceiver(mWifiBroadcastReceiver);
             mWifiBroadcastReceiver = null;
index 4810f4f..f47b0d3 100644 (file)
@@ -383,7 +383,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind
                                     findDeviceCallback,
                                     getServiceCallback());
                 } catch (RemoteException e) {
-                    throw new RuntimeException(e);
+                    Log.e(LOG_TAG, "Error while initiating device discovery", e);
                 }
             }