diff options
Diffstat (limited to 'services/sensorservice/SensorDirectConnection.h')
-rw-r--r-- | services/sensorservice/SensorDirectConnection.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/sensorservice/SensorDirectConnection.h b/services/sensorservice/SensorDirectConnection.h index 4181b65b7d..a3f348b668 100644 --- a/services/sensorservice/SensorDirectConnection.h +++ b/services/sensorservice/SensorDirectConnection.h @@ -50,6 +50,8 @@ public: // regained due to changes in the sensor restricted/privacy mode or the // app changed to idle/active status. void onSensorAccessChanged(bool hasAccess); + void onMicSensorAccessChanged(bool isMicToggleOn); + userid_t getUserId() const { return mUserId; } protected: virtual ~SensorDirectConnection(); @@ -82,6 +84,11 @@ private: // If no requests are backed up by stopAll(), this method is no-op. void recoverAll(); + // Limits all active sensor direct report requests when the mic toggle is flipped to on. + void capRates(); + // Recover sensor requests previously capped by capRates(). + void uncapRates(); + const sp<SensorService> mService; const uid_t mUid; const sensors_direct_mem_t mMem; @@ -91,9 +98,12 @@ private: mutable Mutex mConnectionLock; std::unordered_map<int, int> mActivated; std::unordered_map<int, int> mActivatedBackup; + std::unordered_map<int, int> mMicRateBackup; + std::atomic_bool mIsRateCappedBasedOnPermission; mutable Mutex mDestroyLock; bool mDestroyed; + userid_t mUserId; }; } // namepsace android |