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

Commit 170fbd7f authored by Eric Shih's avatar Eric Shih Committed by Automerger Merge Worker
Browse files

Merge "Turn on feature flag and add sysprop for bt power telemetry" into main...

Merge "Turn on feature flag and add sysprop for bt power telemetry" into main am: 276c040b am: e6245912

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2818300



Change-Id: I45e2faa4f7bb242b98dd50c2d6109b9f406637c6
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 66a642f4 e6245912
Loading
Loading
Loading
Loading

flags/metric.aconfig

0 → 100644
+9 −0
Original line number Diff line number Diff line
package: "com.android.bluetooth.flags"
container: "com.android.btservices"

flag {
    name: "bluetooth_power_telemetry"
    namespace: "bluetooth"
    description: "Toggle the bluetooth power telemetry feature."
    bug: "301874865"
}
+1 −0
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ cc_library_static {
        "libbluetooth_log",
        "libbt-platform-protos-lite",
        "libbt_shim_bridge",
        "server_configurable_flags",
    ],
}

+11 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include "osi/include/stack_power_telemetry.h"

#include <android_bluetooth_flags.h>
#include <base/logging.h>
#include <bluetooth/log.h>
#include <sys/stat.h>
@@ -46,8 +47,9 @@ constexpr int64_t kTrafficLogTime = 120; // 120seconds
constexpr uint8_t kLogEntriesSize{15};
constexpr std::string_view kLogPerChannelProperty =
    "bluetooth.powertelemetry.log_per_channel.enabled";
bool power_telemerty_enabled_ =
    bluetooth::common::init_flags::bluetooth_power_telemetry_is_enabled();
constexpr std::string_view kPowerTelemetryEnabledProperty =
    "bluetooth.powertelemetry.enabled";
bool power_telemerty_enabled_ = false;

std::string GetTimeString(time_t tstamp) {
  char buffer[15];
@@ -154,6 +156,12 @@ struct power_telemetry::PowerTelemetryImpl {
    traffic_logged_ts_ = get_current_time();
    log_per_channel_ = osi_property_get_bool(
        std::string(kLogPerChannelProperty).c_str(), false);
    power_telemetry_enabled_property_ = osi_property_get_bool(
        std::string(kPowerTelemetryEnabledProperty).c_str(), true);

    // Enable this feature when both feature flag and sysprops turn on.
    power_telemerty_enabled_ = IS_FLAG_ENABLED(bluetooth_power_telemetry) &&
                               power_telemetry_enabled_property_;
  }

  LogDataContainer& GetCurrentLogDataContainer() {
@@ -192,6 +200,7 @@ struct power_telemetry::PowerTelemetryImpl {
  } cmd, event;
  bool scan_timer_started_ = false;
  bool log_per_channel_ = false;
  bool power_telemetry_enabled_property_ = false;
};

void power_telemetry::PowerTelemetryImpl::LogDataTransfer() {
+2 −2
Original line number Diff line number Diff line
@@ -21,8 +21,8 @@ class PowerTelemetryTest : public ::testing::Test {
  }

  void SetUp() override {
    // Enable the feature flag
    power_telemerty_enabled_ = true;
    power_telemetry::GetInstance();   // Init the object.
    power_telemerty_enabled_ = true;  // Enable the feature flag
    RawAddress::FromString("00:00:00:00:00:00", bdaddr);
  }
};