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

Commit 2c588c53 authored by Nick Vaccaro's avatar Nick Vaccaro Committed by Peng Xu
Browse files

Fix sensor permission

All sensor will show up when app ask for sensor list regardless of
permission. Operation of sensors, such as registering listener,
is permission checked so that apps without permission cannot obtain
sensor data.

Bug: 33094188
Change-Id: I1d91e855163954666a18b2f8daadb2639b946b24
(cherry picked from commit 1f24f0f5)
parent b8155eda
Loading
Loading
Loading
Loading
+2 −9
Original line number Original line Diff line number Diff line
@@ -868,7 +868,7 @@ void SensorService::makeUuidsIntoIdsForSensorList(Vector<Sensor> &sensorList) co
    }
    }
}
}


Vector<Sensor> SensorService::getSensorList(const String16& opPackageName) {
Vector<Sensor> SensorService::getSensorList(const String16& /* opPackageName */) {
    char value[PROPERTY_VALUE_MAX];
    char value[PROPERTY_VALUE_MAX];
    property_get("debug.sensors", value, "0");
    property_get("debug.sensors", value, "0");
    const Vector<Sensor>& initialSensorList = (atoi(value)) ?
    const Vector<Sensor>& initialSensorList = (atoi(value)) ?
@@ -876,14 +876,7 @@ Vector<Sensor> SensorService::getSensorList(const String16& opPackageName) {
    Vector<Sensor> accessibleSensorList;
    Vector<Sensor> accessibleSensorList;
    for (size_t i = 0; i < initialSensorList.size(); i++) {
    for (size_t i = 0; i < initialSensorList.size(); i++) {
        Sensor sensor = initialSensorList[i];
        Sensor sensor = initialSensorList[i];
        if (canAccessSensor(sensor, "getSensorList", opPackageName)) {
        accessibleSensorList.add(sensor);
        accessibleSensorList.add(sensor);
        } else {
            ALOGI("Skipped sensor %s because it requires permission %s and app op %d",
                  sensor.getName().string(),
                  sensor.getRequiredPermission().string(),
                  sensor.getRequiredAppOp());
        }
    }
    }
    makeUuidsIntoIdsForSensorList(accessibleSensorList);
    makeUuidsIntoIdsForSensorList(accessibleSensorList);
    return accessibleSensorList;
    return accessibleSensorList;