fix security exception in VoipCallMonitor
While investigating how the VoipCallMonitor class treats transactional
calls, I noticed a security exception was being thrown whenever
startForegroundServiceDelegate was being called. Upon some further
digging, an incorrect UID was being given to the activity manager class.
The fix is to fetch the UID in TelecomServiceImpl#addCall and store it
in the extras. Then, when the call is created in CallsManager, those
values are stored in the Call object. VoipCallMonitor can then query the
value and there is no longer a security exception.
Fixes: 276802273
Test: manual (start T-call and grep VoipCallMonitor)
+ unit test (ensure the CallingPackageIdentity is being set)
Change-Id: I10a22df721d1c9c6f467a24fed2d1204e0db843f
diff --git a/telecomm/java/android/telecom/CallAttributes.java b/telecomm/java/android/telecom/CallAttributes.java
index f3ef834..52ff90f 100644
--- a/telecomm/java/android/telecom/CallAttributes.java
+++ b/telecomm/java/android/telecom/CallAttributes.java
@@ -59,7 +59,10 @@
public static final String CALL_CAPABILITIES_KEY = "TelecomCapabilities";
/** @hide **/
- public static final String CALLER_PID = "CallerPid";
+ public static final String CALLER_PID_KEY = "CallerPid";
+
+ /** @hide **/
+ public static final String CALLER_UID_KEY = "CallerUid";
private CallAttributes(@NonNull PhoneAccountHandle phoneAccountHandle,
@NonNull CharSequence displayName,