Skip to content
Snippets Groups Projects
Commit aa0ede2d authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 4801384 from c70e76f1 to pi-release

Change-Id: I33f4e3cdd7a211df7432408c810cf3194112db93
parents a8992075 c70e76f1
Branches
Tags
No related merge requests found
cwren@google.com
jhawkins@google.com jhawkins@google.com
...@@ -77,10 +77,44 @@ enum { ...@@ -77,10 +77,44 @@ enum {
ACTION_BOOT = 1098, ACTION_BOOT = 1098,
FIELD_PLATFORM_REASON = 1099, FIELD_PLATFORM_REASON = 1099,
FIELD_DURATION_MILLIS = 1304,
FIELD_END_BATTERY_PERCENT = 1308,
ACTION_HIDDEN_API_ACCESSED = 1391, ACTION_HIDDEN_API_ACCESSED = 1391,
FIELD_HIDDEN_API_ACCESS_METHOD = 1392, FIELD_HIDDEN_API_ACCESS_METHOD = 1392,
FIELD_HIDDEN_API_ACCESS_DENIED = 1393, FIELD_HIDDEN_API_ACCESS_DENIED = 1393,
FIELD_HIDDEN_API_SIGNATURE = 1394, FIELD_HIDDEN_API_SIGNATURE = 1394,
ACTION_USB_CONNECTOR_CONNECTED = 1422,
ACTION_USB_CONNECTOR_DISCONNECTED = 1423,
ACTION_USB_AUDIO_CONNECTED = 1424,
FIELD_USB_AUDIO_VIDPID = 1425,
ACTION_USB_AUDIO_DISCONNECTED = 1426,
ACTION_HARDWARE_FAILED = 1427,
FIELD_HARDWARE_TYPE = 1428,
FIELD_HARDWARE_FAILURE_CODE = 1429,
ACTION_PHYSICAL_DROP = 1430,
FIELD_CONFIDENCE_PERCENT = 1431,
FIELD_ACCEL_MILLI_G = 1432,
ACTION_BATTERY_HEALTH = 1433,
FIELD_BATTERY_HEALTH_SNAPSHOT_TYPE = 1434,
FIELD_BATTERY_TEMPERATURE_DECI_C = 1435,
FIELD_BATTERY_VOLTAGE_UV = 1436,
FIELD_BATTERY_OPEN_CIRCUIT_VOLTAGE_UV = 1437,
ACTION_BATTERY_CHARGE_CYCLES = 1438,
FIELD_BATTERY_CHARGE_CYCLES = 1439,
ACTION_SLOW_IO = 1442,
FIELD_IO_OPERATION_TYPE = 1443,
FIELD_IO_OPERATION_COUNT = 1444,
ACTION_SPEAKER_IMPEDANCE = 1445,
FIELD_SPEAKER_IMPEDANCE_MILLIOHMS = 1446,
FIELD_SPEAKER_LOCATION = 1447,
FIELD_BATTERY_RESISTANCE_UOHMS = 1448,
FIELD_BATTERY_CURRENT_UA = 1449,
FIELD_HARDWARE_LOCATION = 1450,
ACTION_BATTERY_CAUSED_SHUTDOWN = 1441,
}; };
enum { enum {
...@@ -94,5 +128,30 @@ enum { ...@@ -94,5 +128,30 @@ enum {
ACCESS_METHOD_LINKING = 3, ACCESS_METHOD_LINKING = 3,
}; };
enum HardwareType {
HARDWARE_UNKNOWN = 0,
HARDWARE_MICROPHONE = 1,
HARDWARE_CODEC = 2,
HARDWARE_SPEAKER = 3,
HARDWARE_FINGERPRINT = 4,
};
enum HardwareFailureCode {
HARDWARE_FAILURE_UNKNOWN = 0,
HARDWARE_FAILURE_COMPLETE = 1,
HARDWARE_FAILURE_SPEAKER_HIGH_Z = 2,
HARDWARE_FAILURE_SPEAKER_SHORT = 3,
HARDWARE_FAILURE_FINGERPRINT_SENSOR_BROKEN = 4,
HARDWARE_FAILURE_FINGERPRINT_TOO_MANY_DEAD_PIXELS = 5,
};
enum IoOperation {
IOOP_UNKNOWN = 0,
IOOP_READ = 1,
IOOP_WRITE = 2,
IOOP_UNMAP = 3,
IOOP_SYNC = 4,
};
} // namespace metricslogger } // namespace metricslogger
} // namespace android } // namespace android
...@@ -39,12 +39,18 @@ ...@@ -39,12 +39,18 @@
#include <android-base/file.h> #include <android-base/file.h>
#include <android-base/logging.h> #include <android-base/logging.h>
#ifdef __ANDROID__
#include <android-base/properties.h>
#endif
#include <android-base/stringprintf.h> #include <android-base/stringprintf.h>
#include <android-base/strings.h> #include <android-base/strings.h>
#include <private/android_filesystem_config.h> #include <private/android_filesystem_config.h>
#include <processgroup/processgroup.h> #include <processgroup/processgroup.h>
#ifdef __ANDROID__
using android::base::GetBoolProperty;
#endif
using android::base::StartsWith; using android::base::StartsWith;
using android::base::StringPrintf; using android::base::StringPrintf;
using android::base::WriteStringToFile; using android::base::WriteStringToFile;
...@@ -62,11 +68,24 @@ std::once_flag init_path_flag; ...@@ -62,11 +68,24 @@ std::once_flag init_path_flag;
static const std::string& GetCgroupRootPath() { static const std::string& GetCgroupRootPath() {
static std::string cgroup_root_path; static std::string cgroup_root_path;
std::call_once(init_path_flag, [&]() { std::call_once(init_path_flag, [&]() {
// Check if mem cgroup is mounted, only then check for write-access to avoid #ifdef __ANDROID__
// SELinux denials // low-ram devices use per-app memcg by default, unlike high-end ones
bool low_ram_device = GetBoolProperty("ro.config.low_ram", false);
bool per_app_memcg =
GetBoolProperty("ro.config.per_app_memcg", low_ram_device);
#else
// host does not support Android properties
bool per_app_memcg = false;
#endif
if (per_app_memcg) {
// Check if mem cgroup is mounted, only then check for
// write-access to avoid SELinux denials
cgroup_root_path = cgroup_root_path =
(access(MEM_CGROUP_TASKS, F_OK) || access(MEM_CGROUP_PATH, W_OK) ? ACCT_CGROUP_PATH (access(MEM_CGROUP_TASKS, F_OK) || access(MEM_CGROUP_PATH, W_OK) ?
: MEM_CGROUP_PATH); ACCT_CGROUP_PATH : MEM_CGROUP_PATH);
} else {
cgroup_root_path = ACCT_CGROUP_PATH;
}
}); });
return cgroup_root_path; return cgroup_root_path;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment