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

Commit eb3ad209 authored by Jyoti Bhayana's avatar Jyoti Bhayana Committed by Android (Google) Code Review
Browse files

Merge "Revert^2 "Implement camera privacy allowlist."" into main

parents ec7c9ea2 76256ad9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ cc_library_shared {
filegroup {
    name: "libsensorprivacy_aidl",
    srcs: [
        "aidl/android/hardware/CameraPrivacyAllowlistEntry.aidl",
        "aidl/android/hardware/ISensorPrivacyListener.aidl",
        "aidl/android/hardware/ISensorPrivacyManager.aidl",
    ],
+34 −1
Original line number Diff line number Diff line
@@ -143,6 +143,39 @@ status_t SensorPrivacyManager::isToggleSensorPrivacyEnabled(int toggleType, int
    return UNKNOWN_ERROR;
}

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

std::vector<hardware::CameraPrivacyAllowlistEntry>
        SensorPrivacyManager::getCameraPrivacyAllowlist(){
    sp<hardware::ISensorPrivacyManager> service = getService();
    std::vector<hardware::CameraPrivacyAllowlistEntry> result;
    if (service != nullptr) {
        service->getCameraPrivacyAllowlist(&result);
        return result;
    }
    return result;
}

bool SensorPrivacyManager::isCameraPrivacyEnabled(String16 packageName){
    sp<hardware::ISensorPrivacyManager> service = getService();
    if (service != nullptr) {
        bool result;
        service->isCameraPrivacyEnabled(packageName, &result);
        return result;
    }
    return false;
}

status_t SensorPrivacyManager::linkToDeath(const sp<IBinder::DeathRecipient>& recipient)
{
    sp<hardware::ISensorPrivacyManager> service = getService();
+22 −0
Original line number Diff line number Diff line
/**
 * Copyright (c) 2024, The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.hardware;

parcelable CameraPrivacyAllowlistEntry {
    String packageName;
    boolean isMandatory;
}
+1 −0
Original line number Diff line number Diff line
@@ -21,4 +21,5 @@ package android.hardware;
 */
oneway interface ISensorPrivacyListener {
    void onSensorPrivacyChanged(int toggleType, int sensor, boolean enabled);
    void onSensorPrivacyStateChanged(int toggleType, int sensor, int state);
}
+12 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.hardware;

import android.hardware.CameraPrivacyAllowlistEntry;
import android.hardware.ISensorPrivacyListener;

/** @hide */
@@ -41,4 +42,15 @@ interface ISensorPrivacyManager {
    void setToggleSensorPrivacy(int userId, int source, int sensor, boolean enable);

    void setToggleSensorPrivacyForProfileGroup(int userId, int source, int sensor, boolean enable);

    List<CameraPrivacyAllowlistEntry> getCameraPrivacyAllowlist();

    int getToggleSensorPrivacyState(int toggleType, int sensor);

    void setToggleSensorPrivacyState(int userId, int source, int sensor, int state);

    void setToggleSensorPrivacyStateForProfileGroup(int userId, int source, int sensor, int  state);

    boolean isCameraPrivacyEnabled(String packageName);

}
Loading