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

Commit 78e86f3c authored by HsingYuan Lo's avatar HsingYuan Lo Committed by Gerrit Code Review
Browse files

Merge "Add experimental flag for GATT Robust Caching"

parents 4a9ffce1 798007dc
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -34,6 +34,9 @@ bool InitFlags::gd_controller_enabled = false;
const std::string kGdCoreFlag = "INIT_gd_core";
bool InitFlags::gd_core_enabled = false;

const std::string kGattRobustCachingFlag = "INIT_gatt_robust_caching";
bool InitFlags::gatt_robust_caching_enabled = false;

void InitFlags::Load(const char** flags) {
  SetAll(false);
  while (flags != nullptr && *flags != nullptr) {
@@ -43,6 +46,8 @@ void InitFlags::Load(const char** flags) {
      gd_hci_enabled = true;
    } else if (kGdControllerFlag == *flags) {
      gd_controller_enabled = true;
    } else if (kGattRobustCachingFlag == *flags) {
      gatt_robust_caching_enabled = true;
    }
    flags++;
  }
@@ -65,6 +70,7 @@ void InitFlags::SetAll(bool value) {
  gd_core_enabled = value;
  gd_controller_enabled = value;
  gd_hci_enabled = value;
  gatt_robust_caching_enabled = value;
}

void InitFlags::SetAllForTesting() {
+5 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@ class InitFlags final {
    return gd_core_enabled;
  }

  static bool GattRobustCachingEnabled() {
    return gatt_robust_caching_enabled;
  }

  static void SetAllForTesting();

 private:
@@ -42,6 +46,7 @@ class InitFlags final {
  static bool gd_hci_enabled;
  static bool gd_controller_enabled;
  static bool gd_core_enabled;
  static bool gatt_robust_caching_enabled;
};

}  // namespace common
+25 −1
Original line number Diff line number Diff line
@@ -39,8 +39,32 @@ TEST(InitFlagsTest, test_load_garbage) {
  ASSERT_EQ(false, InitFlags::GdCoreEnabled());
}

TEST(InitFlagsTest, test_load_good_case) {
TEST(InitFlagsTest, test_load_core) {
  const char* input[] = {"INIT_gd_core", nullptr};
  InitFlags::Load(input);
  ASSERT_EQ(true, InitFlags::GdCoreEnabled());
  ASSERT_EQ(true, InitFlags::GdControllerEnabled());
  ASSERT_EQ(true, InitFlags::GdHciEnabled());
}

TEST(InitFlagsTest, test_load_controller) {
  const char* input[] = {"INIT_gd_controller", nullptr};
  InitFlags::Load(input);
  ASSERT_EQ(false, InitFlags::GdCoreEnabled());
  ASSERT_EQ(true, InitFlags::GdControllerEnabled());
  ASSERT_EQ(true, InitFlags::GdHciEnabled());
}

TEST(InitFlagsTest, test_load_hci) {
  const char* input[] = {"INIT_gd_hci", nullptr};
  InitFlags::Load(input);
  ASSERT_EQ(false, InitFlags::GdCoreEnabled());
  ASSERT_EQ(false, InitFlags::GdControllerEnabled());
  ASSERT_EQ(true, InitFlags::GdHciEnabled());
}

TEST(InitFlagsTest, test_load_gatt_robust_caching) {
  const char* input[] = {"INIT_gatt_robust_caching", nullptr};
  InitFlags::Load(input);
  ASSERT_EQ(true, InitFlags::GattRobustCachingEnabled());
}