Merge "Camera: Clear identity before access device policy manager" into main am: 6cc598239e am: 63827abeb6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2652179 Change-Id: I4b398800a92462b0d3b192208296d1c77762ac5f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -595,16 +595,26 @@ public class CameraServiceProxy extends SystemService
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isCameraDisabled(int userId) {
|
public boolean isCameraDisabled(int userId) {
|
||||||
DevicePolicyManager dpm = mContext.getSystemService(DevicePolicyManager.class);
|
if (Binder.getCallingUid() != Process.CAMERASERVER_UID) {
|
||||||
if (dpm == null) {
|
Slog.e(TAG, "Calling UID: " + Binder.getCallingUid()
|
||||||
Slog.e(TAG, "Failed to get the device policy manager service");
|
+ " doesn't match expected camera service UID!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
final long ident = Binder.clearCallingIdentity();
|
||||||
try {
|
try {
|
||||||
return dpm.getCameraDisabled(null, userId);
|
DevicePolicyManager dpm = mContext.getSystemService(DevicePolicyManager.class);
|
||||||
} catch (Exception e) {
|
if (dpm == null) {
|
||||||
e.printStackTrace();
|
Slog.e(TAG, "Failed to get the device policy manager service");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return dpm.getCameraDisabled(null, userId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
Binder.restoreCallingIdentity(ident);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user