From b17c928090764a0bdefefa17ae31326e02b55d62 Mon Sep 17 00:00:00 2001 From: Matt Filetto Date: Sun, 20 Dec 2015 20:22:04 -0800 Subject: [PATCH] sensor: Skip additional permission request checks * Some legacy Samsung HALs supporting BODY_SENSOR types are incompatible with the new permission checks added in M. Extend the NO_SENSOR_PERMISSION_CHECK flags to cover more of the actual checks. Change-Id: Id2b9b57d8151b0998d9233e0a6541e8c88e06af7 --- libs/gui/Sensor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/gui/Sensor.cpp b/libs/gui/Sensor.cpp index e62c5854f..e423a8ed3 100644 --- a/libs/gui/Sensor.cpp +++ b/libs/gui/Sensor.cpp @@ -118,9 +118,11 @@ Sensor::Sensor(struct sensor_t const* hwSensor, int halVersion) break; case SENSOR_TYPE_HEART_RATE: { mStringType = SENSOR_STRING_TYPE_HEART_RATE; +#ifndef NO_SENSOR_PERMISSION_CHECK mRequiredPermission = SENSOR_PERMISSION_BODY_SENSORS; AppOpsManager appOps; mRequiredAppOp = appOps.permissionToOpCode(String16(SENSOR_PERMISSION_BODY_SENSORS)); +#endif mFlags |= SENSOR_FLAG_ON_CHANGE_MODE; } break; case SENSOR_TYPE_LIGHT: @@ -221,6 +223,7 @@ Sensor::Sensor(struct sensor_t const* hwSensor, int halVersion) if (halVersion > SENSORS_DEVICE_API_VERSION_1_0 && hwSensor->stringType) { mStringType = hwSensor->stringType; } +#ifndef NO_SENSOR_PERMISSION_CHECK if (halVersion > SENSORS_DEVICE_API_VERSION_1_0 && hwSensor->requiredPermission) { mRequiredPermission = hwSensor->requiredPermission; if (!strcmp(mRequiredPermission, SENSOR_PERMISSION_BODY_SENSORS)) { @@ -228,6 +231,7 @@ Sensor::Sensor(struct sensor_t const* hwSensor, int halVersion) mRequiredAppOp = appOps.permissionToOpCode(String16(SENSOR_PERMISSION_BODY_SENSORS)); } } +#endif if (halVersion >= SENSORS_DEVICE_API_VERSION_1_3) { mFlags = static_cast(hwSensor->flags);