code: @SuppressWarnings("WeakerAccess")
  	@RequiresPermission(allOf = {Manifest.permission.BLUETOOTH_ADMIN, Manifest.permission.BLUETOOTH})
  	public final void startScan(@NonNull final ScanCallback callback) {
  		//noinspection ConstantConditions
  		if (callback == null) {
  			throw new IllegalArgumentException("callback is null");
  		}
  		final Handler handler = new Handler(Looper.getMainLooper());
  		startScanInternal(Collections.<ScanFilter>emptyList(), new ScanSettings.Builder().build(),
  				callback, handler);
  	}
docs: Start Bluetooth LE scan with default parameters and no filters. The scan results will be
  delivered through {@code callback}.
  <p>
  Requires {@link Manifest.permission#BLUETOOTH_ADMIN} permission.
  An app must hold
  {@link Manifest.permission#ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION} permission
  in order to get results.
  
  @param callback Callback used to deliver scan results.
  @throws IllegalArgumentException If {@code callback} is null.