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

Commit 96fa877f authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by android-build-merger
Browse files

Merge "Add setScannable to AdvertisingSetParameters (2/2)"

am: 5f5a9304

Change-Id: Ifed8433505a93e4225219020b7e8428a015dbf2f
parents 2677fd7c 5f5a9304
Loading
Loading
Loading
Loading
+6 −8
Original line number Original line Diff line number Diff line
@@ -1593,8 +1593,7 @@ static void advertiseCleanupNative(JNIEnv* env, jobject object) {
  }
  }
}
}


static AdvertiseParameters parseParams(JNIEnv* env, jobject i,
static AdvertiseParameters parseParams(JNIEnv* env, jobject i) {
                                       bool isScannable) {
  AdvertiseParameters p;
  AdvertiseParameters p;


  jclass clazz = env->GetObjectClass(i);
  jclass clazz = env->GetObjectClass(i);
@@ -1602,6 +1601,8 @@ static AdvertiseParameters parseParams(JNIEnv* env, jobject i,


  methodId = env->GetMethodID(clazz, "isConnectable", "()Z");
  methodId = env->GetMethodID(clazz, "isConnectable", "()Z");
  jboolean isConnectable = env->CallBooleanMethod(i, methodId);
  jboolean isConnectable = env->CallBooleanMethod(i, methodId);
  methodId = env->GetMethodID(clazz, "isScannable", "()Z");
  jboolean isScannable = env->CallBooleanMethod(i, methodId);
  methodId = env->GetMethodID(clazz, "isLegacy", "()Z");
  methodId = env->GetMethodID(clazz, "isLegacy", "()Z");
  jboolean isLegacy = env->CallBooleanMethod(i, methodId);
  jboolean isLegacy = env->CallBooleanMethod(i, methodId);
  methodId = env->GetMethodID(clazz, "isAnonymous", "()Z");
  methodId = env->GetMethodID(clazz, "isAnonymous", "()Z");
@@ -1619,7 +1620,7 @@ static AdvertiseParameters parseParams(JNIEnv* env, jobject i,


  uint16_t props = 0;
  uint16_t props = 0;
  if (isConnectable) props |= 0x01;
  if (isConnectable) props |= 0x01;
  if (isScannable || (isLegacy && isConnectable)) props |= 0x02;
  if (isScannable) props |= 0x02;
  if (isLegacy) props |= 0x10;
  if (isLegacy) props |= 0x10;
  if (isAnonymous) props |= 0x20;
  if (isAnonymous) props |= 0x20;
  if (includeTxPower) props |= 0x40;
  if (includeTxPower) props |= 0x40;
@@ -1695,8 +1696,7 @@ static void startAdvertisingSetNative(JNIEnv* env, jobject object,
                                     scan_resp_data + scan_resp_len);
                                     scan_resp_data + scan_resp_len);
  env->ReleaseByteArrayElements(scan_resp, scan_resp_data, JNI_ABORT);
  env->ReleaseByteArrayElements(scan_resp, scan_resp_data, JNI_ABORT);


  AdvertiseParameters params =
  AdvertiseParameters params = parseParams(env, parameters);
      parseParams(env, parameters, (scan_resp_len != 0));
  PeriodicAdvertisingParameters periodicParams =
  PeriodicAdvertisingParameters periodicParams =
      parsePeriodicParams(env, periodic_parameters);
      parsePeriodicParams(env, periodic_parameters);


@@ -1785,9 +1785,7 @@ static void setAdvertisingParametersNative(JNIEnv* env, jobject object,
                                           jobject parameters) {
                                           jobject parameters) {
  if (!sGattIf) return;
  if (!sGattIf) return;


  // TODO: must learn somehow wether scan response is set ?
  AdvertiseParameters params = parseParams(env, parameters);
  AdvertiseParameters params =
      parseParams(env, parameters, false /*TODO: put proper value here!!!*/);
  sGattIf->advertiser->SetParameters(
  sGattIf->advertiser->SetParameters(
      advertiser_id, params,
      advertiser_id, params,
      base::Bind(setAdvertisingParametersNativeCb, advertiser_id));
      base::Bind(setAdvertisingParametersNativeCb, advertiser_id));