Perform camera permission and app ops check when setting camera for VT.
When a calling InCallService attempts to use the setCamera API on the VideoCall, Telecom will perform a permission check to ensure that the caller has the correct camera permission and passes the app-ops camera check. A failure to set the camera will result in a callback via the call session event API. This got a little messy as the app ops package name needs to come from the InCallService, and handler usage in the VideoProvider API means we had to pass around the uid/pid of the caller, obtained before we trampoline onto the handler. Test: Unit tests added, manual testing performed. Bug: 32747443 Change-Id: I555a04f9c3fb45e60bb811f64ba855ccf2e3b0e2
This commit is contained in:
@@ -190,10 +190,10 @@ public final class ParcelableCall implements Parcelable {
|
||||
|
||||
* @return The video call.
|
||||
*/
|
||||
public VideoCallImpl getVideoCallImpl() {
|
||||
public VideoCallImpl getVideoCallImpl(String callingPackageName) {
|
||||
if (mVideoCall == null && mVideoCallProvider != null) {
|
||||
try {
|
||||
mVideoCall = new VideoCallImpl(mVideoCallProvider);
|
||||
mVideoCall = new VideoCallImpl(mVideoCallProvider, callingPackageName);
|
||||
} catch (RemoteException ignored) {
|
||||
// Ignore RemoteException.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user