Merge "use vector<uint8_t> for byte[] in AIDL" into rvc-dev-plus-aosp
This commit is contained in:
@@ -1059,36 +1059,26 @@ void StatsService::OnLogEvent(LogEvent* event) {
|
||||
}
|
||||
}
|
||||
|
||||
Status StatsService::getData(int64_t key, const int32_t callingUid, vector<int8_t>* output) {
|
||||
Status StatsService::getData(int64_t key, const int32_t callingUid, vector<uint8_t>* output) {
|
||||
ENFORCE_UID(AID_SYSTEM);
|
||||
|
||||
VLOG("StatsService::getData with Uid %i", callingUid);
|
||||
ConfigKey configKey(callingUid, key);
|
||||
// TODO(b/149254662): Since libbinder_ndk uses int8_t instead of uint8_t,
|
||||
// there are inconsistencies with internal statsd logic. Instead of
|
||||
// modifying lots of files, we create a temporary output array of int8_t and
|
||||
// copy its data into output. This is a bad hack, but hopefully
|
||||
// libbinder_ndk will transition to using uint8_t soon: progress is tracked
|
||||
// in b/144957764. Same applies to StatsService::getMetadata.
|
||||
vector<uint8_t> unsignedOutput;
|
||||
// The dump latency does not matter here since we do not include the current bucket, we do not
|
||||
// need to pull any new data anyhow.
|
||||
mProcessor->onDumpReport(configKey, getElapsedRealtimeNs(), false /* include_current_bucket*/,
|
||||
true /* erase_data */, GET_DATA_CALLED, FAST, &unsignedOutput);
|
||||
*output = vector<int8_t>(unsignedOutput.begin(), unsignedOutput.end());
|
||||
true /* erase_data */, GET_DATA_CALLED, FAST, output);
|
||||
return Status::ok();
|
||||
}
|
||||
|
||||
Status StatsService::getMetadata(vector<int8_t>* output) {
|
||||
Status StatsService::getMetadata(vector<uint8_t>* output) {
|
||||
ENFORCE_UID(AID_SYSTEM);
|
||||
|
||||
vector<uint8_t> unsignedOutput;
|
||||
StatsdStats::getInstance().dumpStats(&unsignedOutput, false); // Don't reset the counters.
|
||||
*output = vector<int8_t>(unsignedOutput.begin(), unsignedOutput.end());
|
||||
StatsdStats::getInstance().dumpStats(output, false); // Don't reset the counters.
|
||||
return Status::ok();
|
||||
}
|
||||
|
||||
Status StatsService::addConfiguration(int64_t key, const vector <int8_t>& config,
|
||||
Status StatsService::addConfiguration(int64_t key, const vector <uint8_t>& config,
|
||||
const int32_t callingUid) {
|
||||
ENFORCE_UID(AID_SYSTEM);
|
||||
|
||||
@@ -1099,7 +1089,7 @@ Status StatsService::addConfiguration(int64_t key, const vector <int8_t>& config
|
||||
}
|
||||
}
|
||||
|
||||
bool StatsService::addConfigurationChecked(int uid, int64_t key, const vector<int8_t>& config) {
|
||||
bool StatsService::addConfigurationChecked(int uid, int64_t key, const vector<uint8_t>& config) {
|
||||
ConfigKey configKey(uid, key);
|
||||
StatsdConfig cfg;
|
||||
if (config.size() > 0) { // If the config is empty, skip parsing.
|
||||
|
||||
@@ -94,13 +94,13 @@ public:
|
||||
*/
|
||||
virtual Status getData(int64_t key,
|
||||
const int32_t callingUid,
|
||||
vector<int8_t>* output) override;
|
||||
vector<uint8_t>* output) override;
|
||||
|
||||
|
||||
/**
|
||||
* Binder call for clients to get metadata across all configs in statsd.
|
||||
*/
|
||||
virtual Status getMetadata(vector<int8_t>* output) override;
|
||||
virtual Status getMetadata(vector<uint8_t>* output) override;
|
||||
|
||||
|
||||
/**
|
||||
@@ -108,7 +108,7 @@ public:
|
||||
* should requestData for this configuration.
|
||||
*/
|
||||
virtual Status addConfiguration(int64_t key,
|
||||
const vector<int8_t>& config,
|
||||
const vector<uint8_t>& config,
|
||||
const int32_t callingUid) override;
|
||||
|
||||
/**
|
||||
@@ -318,7 +318,7 @@ private:
|
||||
/**
|
||||
* Adds a configuration after checking permissions and obtaining UID from binder call.
|
||||
*/
|
||||
bool addConfigurationChecked(int uid, int64_t key, const vector<int8_t>& config);
|
||||
bool addConfigurationChecked(int uid, int64_t key, const vector<uint8_t>& config);
|
||||
|
||||
/**
|
||||
* Update a configuration.
|
||||
|
||||
@@ -39,7 +39,7 @@ const int kCallingUid = 0; // Randomly chosen
|
||||
void SendConfig(shared_ptr<StatsService>& service, const StatsdConfig& config) {
|
||||
string str;
|
||||
config.SerializeToString(&str);
|
||||
std::vector<int8_t> configAsVec(str.begin(), str.end());
|
||||
std::vector<uint8_t> configAsVec(str.begin(), str.end());
|
||||
service->addConfiguration(kConfigKey, configAsVec, kCallingUid);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user