/**
   * Read the local Out of Band Pairing Data
   *
   * <p>Requires {@link android.Manifest.permission#BLUETOOTH}
   *
   * @return Pair<byte[], byte[]> of Hash and Randomizer
   * @hide
   */
  public Pair<byte[], byte[]> readOutOfBandData() {
    if (getState() != STATE_ON) return null;
    try {
      byte[] hash;
      byte[] randomizer;

      byte[] ret = mService.readOutOfBandData();

      if (ret == null || ret.length != 32) return null;

      hash = Arrays.copyOfRange(ret, 0, 16);
      randomizer = Arrays.copyOfRange(ret, 16, 32);

      if (DBG) {
        Log.d(
            TAG, "readOutOfBandData:" + Arrays.toString(hash) + ":" + Arrays.toString(randomizer));
      }
      return new Pair<byte[], byte[]>(hash, randomizer);

    } catch (RemoteException e) {
      Log.e(TAG, "", e);
    }
    return null;
  }