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

Commit 40c61822 authored by Evan Severson's avatar Evan Severson Committed by Android (Google) Code Review
Browse files

Merge "Add individual sensor privacay states to sensor privacy api"

parents ba01cdbd 5b8fe03d
Loading
Loading
Loading
Loading
+21 −0
Original line number Original line Diff line number Diff line
@@ -64,6 +64,15 @@ void SensorPrivacyManager::addSensorPrivacyListener(
    }
    }
}
}


void SensorPrivacyManager::addIndividualSensorPrivacyListener(int userId, int sensor,
        const sp<hardware::ISensorPrivacyListener>& listener)
{
    sp<hardware::ISensorPrivacyManager> service = getService();
    if (service != nullptr) {
        service->addIndividualSensorPrivacyListener(userId, sensor, listener);
    }
}

void SensorPrivacyManager::removeSensorPrivacyListener(
void SensorPrivacyManager::removeSensorPrivacyListener(
        const sp<hardware::ISensorPrivacyListener>& listener)
        const sp<hardware::ISensorPrivacyListener>& listener)
{
{
@@ -85,6 +94,18 @@ bool SensorPrivacyManager::isSensorPrivacyEnabled()
    return false;
    return false;
}
}


bool SensorPrivacyManager::isIndividualSensorPrivacyEnabled(int userId, int sensor)
{
    sp<hardware::ISensorPrivacyManager> service = getService();
    if (service != nullptr) {
        bool result;
        service->isIndividualSensorPrivacyEnabled(userId, sensor, &result);
        return result;
    }
    // if the SensorPrivacyManager is not available then assume sensor privacy is disabled
    return false;
}

status_t SensorPrivacyManager::linkToDeath(const sp<IBinder::DeathRecipient>& recipient)
status_t SensorPrivacyManager::linkToDeath(const sp<IBinder::DeathRecipient>& recipient)
{
{
    sp<hardware::ISensorPrivacyManager> service = getService();
    sp<hardware::ISensorPrivacyManager> service = getService();
+8 −0
Original line number Original line Diff line number Diff line
@@ -22,9 +22,17 @@ import android.hardware.ISensorPrivacyListener;
interface ISensorPrivacyManager {
interface ISensorPrivacyManager {
    void addSensorPrivacyListener(in ISensorPrivacyListener listener);
    void addSensorPrivacyListener(in ISensorPrivacyListener listener);


    void addIndividualSensorPrivacyListener(int userId, int sensor, in ISensorPrivacyListener listener);

    void removeSensorPrivacyListener(in ISensorPrivacyListener listener);
    void removeSensorPrivacyListener(in ISensorPrivacyListener listener);


    boolean isSensorPrivacyEnabled();
    boolean isSensorPrivacyEnabled();


    boolean isIndividualSensorPrivacyEnabled(int userId, int sensor);

    void setSensorPrivacy(boolean enable);
    void setSensorPrivacy(boolean enable);

    void setIndividualSensorPrivacy(int userId, int sensor, boolean enable);

    void setIndividualSensorPrivacyForProfileGroup(int userId, int sensor, boolean enable);
}
}
+8 −0
Original line number Original line Diff line number Diff line
@@ -28,11 +28,19 @@ namespace android {
class SensorPrivacyManager
class SensorPrivacyManager
{
{
public:
public:
    enum {
        INDIVIDUAL_SENSOR_MICROPHONE = 1,
        INDIVIDUAL_SENSOR_CAMERA = 2
    };

    SensorPrivacyManager();
    SensorPrivacyManager();


    void addSensorPrivacyListener(const sp<hardware::ISensorPrivacyListener>& listener);
    void addSensorPrivacyListener(const sp<hardware::ISensorPrivacyListener>& listener);
    void addIndividualSensorPrivacyListener(int userId, int sensor,
            const sp<hardware::ISensorPrivacyListener>& listener);
    void removeSensorPrivacyListener(const sp<hardware::ISensorPrivacyListener>& listener);
    void removeSensorPrivacyListener(const sp<hardware::ISensorPrivacyListener>& listener);
    bool isSensorPrivacyEnabled();
    bool isSensorPrivacyEnabled();
    bool isIndividualSensorPrivacyEnabled(int userId, int sensor);


    status_t linkToDeath(const sp<IBinder::DeathRecipient>& recipient);
    status_t linkToDeath(const sp<IBinder::DeathRecipient>& recipient);
    status_t unlinkToDeath(const sp<IBinder::DeathRecipient>& recipient);
    status_t unlinkToDeath(const sp<IBinder::DeathRecipient>& recipient);