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

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

Merge "Update mic/camera toggles api" into sc-dev

parents 6fea7f00 671806e1
Loading
Loading
Loading
Loading
+1 −23
Original line number Original line Diff line number Diff line
@@ -29,7 +29,6 @@
#include <inttypes.h>
#include <inttypes.h>
#include <pthread.h>
#include <pthread.h>


#include <android/content/pm/IPackageManagerNative.h>
#include <android/hardware/ICamera.h>
#include <android/hardware/ICamera.h>
#include <android/hardware/ICameraClient.h>
#include <android/hardware/ICameraClient.h>


@@ -3441,28 +3440,7 @@ void CameraService::SensorPrivacyPolicy::binderDied(const wp<IBinder>& /*who*/)
}
}


bool CameraService::SensorPrivacyPolicy::hasCameraPrivacyFeature() {
bool CameraService::SensorPrivacyPolicy::hasCameraPrivacyFeature() {
    if (!mNeedToCheckCameraPrivacyFeature) {
    return mSpm.supportsSensorToggle(SensorPrivacyManager::INDIVIDUAL_SENSOR_CAMERA);
        return mHasCameraPrivacyFeature;
    }
    bool hasCameraPrivacyFeature = false;
    sp<IBinder> binder = defaultServiceManager()->getService(String16("package_native"));
    if (binder != nullptr) {
        sp<content::pm::IPackageManagerNative> packageManager =
                interface_cast<content::pm::IPackageManagerNative>(binder);
        if (packageManager != nullptr) {
            binder::Status status = packageManager->hasSystemFeature(
                    String16("android.hardware.camera.toggle"), 0, &hasCameraPrivacyFeature);

            if (status.isOk()) {
                mNeedToCheckCameraPrivacyFeature = false;
                mHasCameraPrivacyFeature = hasCameraPrivacyFeature;
            } else {
                ALOGE("Unable to check if camera privacy feature is supported");
            }
        }
    }

    return hasCameraPrivacyFeature;
}
}


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
+1 −4
Original line number Original line Diff line number Diff line
@@ -676,8 +676,7 @@ private:
            public virtual IBinder::DeathRecipient {
            public virtual IBinder::DeathRecipient {
        public:
        public:
            explicit SensorPrivacyPolicy(wp<CameraService> service)
            explicit SensorPrivacyPolicy(wp<CameraService> service)
                    : mService(service), mSensorPrivacyEnabled(false), mRegistered(false),
                    : mService(service), mSensorPrivacyEnabled(false), mRegistered(false) {}
                    mHasCameraPrivacyFeature(false), mNeedToCheckCameraPrivacyFeature(true) {}


            void registerSelf();
            void registerSelf();
            void unregisterSelf();
            void unregisterSelf();
@@ -696,8 +695,6 @@ private:
            Mutex mSensorPrivacyLock;
            Mutex mSensorPrivacyLock;
            bool mSensorPrivacyEnabled;
            bool mSensorPrivacyEnabled;
            bool mRegistered;
            bool mRegistered;
            bool mHasCameraPrivacyFeature;
            bool mNeedToCheckCameraPrivacyFeature;


            bool hasCameraPrivacyFeature();
            bool hasCameraPrivacyFeature();
    };
    };