diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
index 464e67f..641e463 100644
--- a/services/camera/libcameraservice/CameraService.cpp
+++ b/services/camera/libcameraservice/CameraService.cpp
@@ -3249,8 +3249,8 @@
     }
 
     mRegistered = true;
-    isIndividual = true;
-    this->userId = userId;
+    mIsIndividual = true;
+    mUserId = userId;
     ALOGV("SensorPrivacyPolicy: Registered with SensorPrivacyManager");
     return OK;
 }
@@ -3276,8 +3276,8 @@
     // if sensor privacy is enabled then block all clients from accessing the camera
     sp<CameraService> service = mService.promote();
     if (service != nullptr) {
-        if (isIndividual) {
-            service->setMuteForAllClients(userId, enabled);
+        if (mIsIndividual) {
+            service->setMuteForAllClients(mUserId, enabled);
         } else {
             if (enabled) {
                 service->blockAllClients();
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
index 5f16d41..dbfc6c3 100644
--- a/services/camera/libcameraservice/CameraService.h
+++ b/services/camera/libcameraservice/CameraService.h
@@ -638,7 +638,7 @@
         public:
             explicit SensorPrivacyPolicy(wp<CameraService> service)
                     : mService(service), mSensorPrivacyEnabled(false), mRegistered(false),
-                      isIndividual(false), userId(0) {}
+                      mIsIndividual(false), mUserId(0) {}
 
             void registerSelf();
             status_t registerSelfForIndividual(int userId);
@@ -657,8 +657,8 @@
             Mutex mSensorPrivacyLock;
             bool mSensorPrivacyEnabled;
             bool mRegistered;
-            bool isIndividual;
-            userid_t userId;
+            bool mIsIndividual;
+            userid_t mUserId;
     };
 
     sp<UidPolicy> mUidPolicy;
