Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f195c85 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "OOB: Return local adapter name in generated OOB Data"

parents 87faf603 edb01d46
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -436,6 +436,25 @@ static jobject createClassicOobDataObject(JNIEnv* env, bt_oob_data_t oob_data) {
  oobDataClassicBuilder =
      env->CallObjectMethod(oobDataClassicBuilder, setRMethod, randomizerHash);

  jmethodID setNameMethod =
      env->GetMethodID(classicBuilderClass, "setDeviceName",
                       "([B)Landroid/bluetooth/OobData$ClassicBuilder;");

  int name_char_count = 0;
  for (int i = 0; i < OOB_NAME_MAX_SIZE; i++) {
    if (oob_data.device_name[i] == 0) {
      name_char_count = i;
      break;
    }
  }

  jbyteArray deviceName = env->NewByteArray(name_char_count);
  env->SetByteArrayRegion(deviceName, 0, name_char_count,
                          reinterpret_cast<jbyte*>(oob_data.device_name));

  oobDataClassicBuilder =
      env->CallObjectMethod(oobDataClassicBuilder, setNameMethod, deviceName);

  jmethodID buildMethod = env->GetMethodID(classicBuilderClass, "build",
                                           "()Landroid/bluetooth/OobData;");

@@ -473,6 +492,25 @@ static jobject createLeOobDataObject(JNIEnv* env, bt_oob_data_t oob_data) {
  oobDataLeBuilder =
      env->CallObjectMethod(oobDataLeBuilder, setRMethod, randomizerHash);

  jmethodID setNameMethod =
      env->GetMethodID(leBuilderClass, "setDeviceName",
                       "([B)Landroid/bluetooth/OobData$LeBuilder;");

  int name_char_count = 0;
  for (int i = 0; i < OOB_NAME_MAX_SIZE; i++) {
    if (oob_data.device_name[i] == 0) {
      name_char_count = i;
      break;
    }
  }

  jbyteArray deviceName = env->NewByteArray(name_char_count);
  env->SetByteArrayRegion(deviceName, 0, name_char_count,
                          reinterpret_cast<jbyte*>(oob_data.device_name));

  oobDataLeBuilder =
      env->CallObjectMethod(oobDataLeBuilder, setNameMethod, deviceName);

  jmethodID buildMethod = env->GetMethodID(leBuilderClass, "build",
                                           "()Landroid/bluetooth/OobData;");